diff --git a/C/heapgc.c b/C/heapgc.c index fc5293550..7e8db09db 100644 --- a/C/heapgc.c +++ b/C/heapgc.c @@ -1914,7 +1914,10 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose) current_B = gc_B; prev_HB = HB; #endif - HB = gc_B->cp_h; +#ifdef DETERMINISTIC_TABLING + if (!IS_DET_GEN_CP(gc_B)) +#endif /* DETERMINISTIC_TABLING */ + HB = gc_B->cp_h; #ifdef INSTRUMENT_GC num_bs++; #endif @@ -1957,6 +1960,9 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose) } #endif } +#ifdef DETERMINISTIC_TABLING + if (!IS_DET_GEN_CP(gc_B)) +#endif /* DETERMINISTIC_TABLING */ { /* find out how many cells are still alive in the trail */ mark_trail(saved_TR, gc_B->cp_tr, gc_B->cp_h, gc_B); diff --git a/OPTYap/opt.config.h b/OPTYap/opt.config.h index 4080c76f6..f92e17837 100644 --- a/OPTYap/opt.config.h +++ b/OPTYap/opt.config.h @@ -49,11 +49,6 @@ ** ----------------------------------------------- */ #define TABLING_EARLY_COMPLETION 1 -/* --------------------------------------------------- ** -** support deterministic tabling? (optional) ** -** --------------------------------------------------- */ -/* #define DETERMINISTIC_TABLING 1 */ - /* ------------------------------------------------ ** ** limit the table space size? (optional) ** ** ------------------------------------------------ */ @@ -64,6 +59,11 @@ ** ------------------------------------------------ */ /* #define INCOMPLETE_TABLING 1 */ +/* --------------------------------------------------- ** +** support deterministic tabling? (optional) ** +** --------------------------------------------------- */ +/* #define DETERMINISTIC_TABLING 1 */ + /* ---------------------------------------- -- ** ** enable error checking? (optional) ** ** ------------------------------------------- */