diff --git a/C/heapgc.c b/C/heapgc.c index 156536e68..a075dcea0 100644 --- a/C/heapgc.c +++ b/C/heapgc.c @@ -1391,14 +1391,13 @@ static void 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 dep_fr_ptr depfr = LOCAL_top_dep_fr; #endif #ifdef EASY_SHUNTING HB = H; #endif - yamop *lu_cl0 = NEXTOP(PredLogUpdClause0->CodeOfPred,ld), *lu_cl = NEXTOP(PredLogUpdClause->CodeOfPred,ld), *su_cl = NEXTOP(PredStaticClause->CodeOfPred,ld); - while (gc_B != NULL) { 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 _retry: 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; break; 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 (saved_reg = &gc_B->cp_a1; /* assumes we can count registers in CP this diff --git a/C/tracer.c b/C/tracer.c index 469f01735..d6a100a2c 100644 --- a/C/tracer.c +++ b/C/tracer.c @@ -127,8 +127,6 @@ low_level_trace(yap_low_level_port port, PredEntry *pred, CELL *args) } #endif vsc_count++; - if (vsc_count < 16489200) - return; #ifdef COMMENTED // if (vsc_count == 218280) // vsc_xstop = 1;