From 3b376f87e71d4d3d388c25e26e1715aff6f2bf6d Mon Sep 17 00:00:00 2001 From: vsc Date: Fri, 30 Apr 2004 19:50:01 +0000 Subject: [PATCH] fix new special choice-points git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1059 b08c6af1-5177-4d33-ba66-4b1c6b8b522a --- C/heapgc.c | 15 +++++++-------- C/tracer.c | 2 -- 2 files changed, 7 insertions(+), 10 deletions(-) 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;