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:
vsc 2003-09-23 02:19:37 +00:00
parent f6170508cd
commit 3e17f53c28
4 changed files with 12 additions and 7 deletions

View File

@ -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);
}

View File

@ -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;

View File

@ -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++;
}

View File

@ -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;