fix new special choice-points
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1059 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
fc1dc1280d
commit
3b376f87e7
15
C/heapgc.c
15
C/heapgc.c
@ -1391,14 +1391,13 @@ static void
|
|||||||
mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose)
|
mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
yamop *lu_cl0 = NEXTOP(PredLogUpdClause0->CodeOfPred,ld), *lu_cl = NEXTOP(PredLogUpdClause->CodeOfPred,ld), *su_cl = NEXTOP(PredStaticClause->CodeOfPred,ld);
|
||||||
#ifdef TABLING
|
#ifdef TABLING
|
||||||
dep_fr_ptr depfr = LOCAL_top_dep_fr;
|
dep_fr_ptr depfr = LOCAL_top_dep_fr;
|
||||||
#endif
|
#endif
|
||||||
#ifdef EASY_SHUNTING
|
#ifdef EASY_SHUNTING
|
||||||
HB = H;
|
HB = H;
|
||||||
#endif
|
#endif
|
||||||
yamop *lu_cl0 = NEXTOP(PredLogUpdClause0->CodeOfPred,ld), *lu_cl = NEXTOP(PredLogUpdClause->CodeOfPred,ld), *su_cl = NEXTOP(PredStaticClause->CodeOfPred,ld);
|
|
||||||
|
|
||||||
|
|
||||||
while (gc_B != NULL) {
|
while (gc_B != NULL) {
|
||||||
op_numbers opnum;
|
op_numbers opnum;
|
||||||
@ -1704,12 +1703,6 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose)
|
|||||||
case _trust_me4:
|
case _trust_me4:
|
||||||
case _retry:
|
case _retry:
|
||||||
case _trust:
|
case _trust:
|
||||||
if (gc_B->cp_ap == lu_cl0 ||
|
|
||||||
gc_B->cp_ap == lu_cl ||
|
|
||||||
gc_B->cp_ap == su_cl) {
|
|
||||||
CELL *pt = (CELL *)IntegerOfTerm(gc_B->cp_args[1]);
|
|
||||||
mark_db_fixed(pt);
|
|
||||||
}
|
|
||||||
nargs = rtp->u.ld.s;
|
nargs = rtp->u.ld.s;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -1722,6 +1715,12 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (gc_B->cp_ap == lu_cl0 ||
|
||||||
|
gc_B->cp_ap == lu_cl ||
|
||||||
|
gc_B->cp_ap == su_cl) {
|
||||||
|
CELL *pt = (CELL *)IntegerOfTerm(gc_B->cp_args[1]);
|
||||||
|
mark_db_fixed(pt);
|
||||||
|
}
|
||||||
/* for each saved register */
|
/* for each saved register */
|
||||||
for (saved_reg = &gc_B->cp_a1;
|
for (saved_reg = &gc_B->cp_a1;
|
||||||
/* assumes we can count registers in CP this
|
/* assumes we can count registers in CP this
|
||||||
|
@ -127,8 +127,6 @@ low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
vsc_count++;
|
vsc_count++;
|
||||||
if (vsc_count < 16489200)
|
|
||||||
return;
|
|
||||||
#ifdef COMMENTED
|
#ifdef COMMENTED
|
||||||
// if (vsc_count == 218280)
|
// if (vsc_count == 218280)
|
||||||
// vsc_xstop = 1;
|
// vsc_xstop = 1;
|
||||||
|
Reference in New Issue
Block a user