Merge branch 'master' of git@git.dcc.fc.up.pt:yap-6.3
This commit is contained in:
commit
50287c268b
2
.gitmodules
vendored
2
.gitmodules
vendored
@ -36,7 +36,7 @@
|
|||||||
url = git://git.code.sf.net/p/yap/pldoc
|
url = git://git.code.sf.net/p/yap/pldoc
|
||||||
[submodule "packages/real"]
|
[submodule "packages/real"]
|
||||||
path = packages/real
|
path = packages/real
|
||||||
url = vsc://www.swi-prolog.org/home/pl/git/packages/real.git
|
url = git://www.swi-prolog.org/home/pl/git/packages/real.git
|
||||||
[submodule "packages/archive"]
|
[submodule "packages/archive"]
|
||||||
path = packages/archive
|
path = packages/archive
|
||||||
url = git://git.code.sf.net/p/yap/archive
|
url = git://git.code.sf.net/p/yap/archive
|
||||||
|
@ -2289,8 +2289,9 @@ YAP_EnterGoal(PredEntry *pe, Term *ptr, YAP_dogoalinfo *dgi)
|
|||||||
BACKUP_MACHINE_REGS();
|
BACKUP_MACHINE_REGS();
|
||||||
dgi->p = P;
|
dgi->p = P;
|
||||||
dgi->cp = CP;
|
dgi->cp = CP;
|
||||||
P = pe->CodeOfPred;
|
// ensure our current ENV receives current P.
|
||||||
Yap_PrepGoal(pe->ArityOfPE, ptr, B PASS_REGS);
|
Yap_PrepGoal(pe->ArityOfPE, ptr, B PASS_REGS);
|
||||||
|
P = pe->CodeOfPred;
|
||||||
dgi->b = LCL0-(CELL*)B;
|
dgi->b = LCL0-(CELL*)B;
|
||||||
out = run_emulator(dgi PASS_REGS);
|
out = run_emulator(dgi PASS_REGS);
|
||||||
RECOVER_MACHINE_REGS();
|
RECOVER_MACHINE_REGS();
|
||||||
|
@ -1556,7 +1556,7 @@ mark_environments(CELL_PTR gc_ENV, OPREG size, CELL *pvbmap USES_REGS)
|
|||||||
Int bmap = 0;
|
Int bmap = 0;
|
||||||
int currv = 0;
|
int currv = 0;
|
||||||
|
|
||||||
// printf("MARK %p--%p\n", gc_ENV, gc_ENV-size);
|
// printf("MARK %p--%p\n", gc_ENV, gc_ENV-size);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
if (size < 0 || size > 512)
|
if (size < 0 || size > 512)
|
||||||
fprintf(GLOBAL_stderr,"OOPS in GC: env size for %p is " UInt_FORMAT "\n", gc_ENV, (CELL)size);
|
fprintf(GLOBAL_stderr,"OOPS in GC: env size for %p is " UInt_FORMAT "\n", gc_ENV, (CELL)size);
|
||||||
|
@ -775,6 +775,8 @@ RestoreEnvInst(yamop start[2], yamop **instp, op_numbers opc, PredEntry *pred)
|
|||||||
ipc->opc = Yap_opcode(_call);
|
ipc->opc = Yap_opcode(_call);
|
||||||
ipc->u.Osbpp.p = pred;
|
ipc->u.Osbpp.p = pred;
|
||||||
ipc->u.Osbpp.p0 = pred;
|
ipc->u.Osbpp.p0 = pred;
|
||||||
|
ipc->u.Osbpp.bmap = NULL;
|
||||||
|
ipc->u.Osbpp.s = -Signed(RealEnvSize);
|
||||||
ipc = NEXTOP(ipc, Osbpp);
|
ipc = NEXTOP(ipc, Osbpp);
|
||||||
ipc->opc = Yap_opcode(opc);
|
ipc->opc = Yap_opcode(opc);
|
||||||
*instp = ipc;
|
*instp = ipc;
|
||||||
|
@ -2291,6 +2291,8 @@ X_API qid_t PL_open_query(module_t ctx, int flags, predicate_t p, term_t t0)
|
|||||||
new->cp = CP;
|
new->cp = CP;
|
||||||
new->p = P;
|
new->p = P;
|
||||||
new->b = (CELL)(LCL0-(CELL*)B);
|
new->b = (CELL)(LCL0-(CELL*)B);
|
||||||
|
new->envp = (CELL)(LCL0-ENV);
|
||||||
|
new->asp = (CELL)(LCL0-ASP);
|
||||||
new->slots = CurSlot;
|
new->slots = CurSlot;
|
||||||
new->flags = 0;
|
new->flags = 0;
|
||||||
LOCAL_execution = new;
|
LOCAL_execution = new;
|
||||||
|
Reference in New Issue
Block a user