more fixes to new indexing code
a few fixes to functor git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@872 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
f6170508cd
commit
3e17f53c28
@ -10122,7 +10122,7 @@ Yap_absmi(int inp)
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
if (Yap_do_low_level_trace) {
|
||||
RESET_VARIABLE(H);
|
||||
H[1] = XREG(PREG->u.xcx.c);
|
||||
H[1] = PREG->u.xcx.c;
|
||||
H[2] = XREG(PREG->u.xcx.xi);
|
||||
low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(Yap_MkFunctor(Yap_LookupAtom("functor"),3),0)),H);
|
||||
}
|
||||
@ -10466,7 +10466,7 @@ Yap_absmi(int inp)
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
if (Yap_do_low_level_trace) {
|
||||
RESET_VARIABLE(H);
|
||||
H[1] = XREG(PREG->u.ycx.c);
|
||||
H[1] = PREG->u.ycx.c;
|
||||
H[2] = XREG(PREG->u.ycx.xi);
|
||||
low_level_trace(enter_pred,RepPredProp(Yap_GetPredPropByFunc(Yap_MkFunctor(Yap_LookupAtom("functor"),3),0)),H);
|
||||
}
|
||||
|
4
C/grow.c
4
C/grow.c
@ -507,6 +507,10 @@ static_growheap(long size, int fix_code)
|
||||
fprintf(Yap_stderr, "[HO] Heap overflow %d\n", heap_overflows);
|
||||
fprintf(Yap_stderr, "[HO] growing the heap %ld bytes\n", size);
|
||||
}
|
||||
/* CreepFlag is set to force heap expansion */
|
||||
if (CreepFlag == Unsigned(LCL0+1)) {
|
||||
CreepFlag = CalculateStackGap();
|
||||
}
|
||||
ASP -= 256;
|
||||
TrDiff = LDiff = GDiff = DelayDiff = size;
|
||||
XDiff = HDiff = 0;
|
||||
|
@ -2299,7 +2299,6 @@ skip_to_arg(ClauseDef *clause, PredEntry *ap, UInt argno, int at_point)
|
||||
case _unify_l_bigint:
|
||||
case _unify_l_float:
|
||||
if (argno == 1) {
|
||||
clause->u.WorkPC = NEXTOP(cl,oc);
|
||||
done = TRUE;
|
||||
} else {
|
||||
at_point = FALSE;
|
||||
@ -3856,6 +3855,7 @@ expand_index(PredEntry *ap) {
|
||||
sp = push_stack(sp, 1, AbsAppl((CELL *)FunctorOfTerm(t)));
|
||||
ipc = ipc->u.llll.l3;
|
||||
} else {
|
||||
sp = push_stack(sp, argno, t);
|
||||
ipc = ipc->u.llll.l2;
|
||||
}
|
||||
break;
|
||||
@ -3876,6 +3876,7 @@ expand_index(PredEntry *ap) {
|
||||
sp = push_stack(sp, 1, AbsAppl((CELL *)FunctorOfTerm(t)));
|
||||
ipc = ipc->u.ollll.l3;
|
||||
} else {
|
||||
sp = push_stack(sp, argno, t);
|
||||
ipc = ipc->u.ollll.l2;
|
||||
}
|
||||
break;
|
||||
@ -3895,6 +3896,7 @@ expand_index(PredEntry *ap) {
|
||||
sp = push_stack(sp, argno, AbsAppl((CELL *)FunctorOfTerm(t)));
|
||||
ipc = ipc->u.xllll.l3;
|
||||
} else {
|
||||
sp = push_stack(sp, argno, t);
|
||||
ipc = ipc->u.xllll.l2;
|
||||
}
|
||||
break;
|
||||
@ -3916,6 +3918,9 @@ expand_index(PredEntry *ap) {
|
||||
sp = push_stack(sp, -i-1, AbsAppl((CELL *)FunctorOfTerm(t)));
|
||||
ipc = ipc->u.sllll.l3;
|
||||
} else {
|
||||
/* We don't push stack here, instead we go over to next argument
|
||||
sp = push_stack(sp, -i-1, t);
|
||||
*/
|
||||
ipc = ipc->u.sllll.l2;
|
||||
i++;
|
||||
}
|
||||
|
@ -113,10 +113,6 @@ low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args)
|
||||
/* extern int gc_calls; */
|
||||
|
||||
vsc_count++;
|
||||
if (vsc_count < 5264300LL) {
|
||||
return;
|
||||
}
|
||||
if (vsc_count == 5264343LL) vsc_xstop = TRUE;
|
||||
#ifdef COMMENTED
|
||||
if (vsc_count < 123536430LL) {
|
||||
if (vsc_count == 123536441LL) vsc_xstop = 1;
|
||||
|
Reference in New Issue
Block a user