trust_fail needs not to mark environments, but in contrast termination needs.

This commit is contained in:
Costa Vitor 2009-07-24 15:07:39 -05:00
parent 11fb9183e1
commit 59e0f71a7d

View File

@ -1971,13 +1971,10 @@ mark_choicepoints(register choiceptr gc_B, tr_fr_ptr saved_TR, int very_verbose)
mark_environments((CELL_PTR) gc_B->cp_env, mark_environments((CELL_PTR) gc_B->cp_env,
EnvSizeInCells, EnvSizeInCells,
NULL); NULL);
else else if (opnum != _trust_fail)
#ifdef TABLING mark_environments((CELL_PTR) gc_B->cp_env,
if (opnum != _table_completion) EnvSize((yamop *) (gc_B->cp_cp)),
#endif /* TABLING */ EnvBMap((yamop *) (gc_B->cp_cp)));
mark_environments((CELL_PTR) gc_B->cp_env,
EnvSize((yamop *) (gc_B->cp_cp)),
EnvBMap((yamop *) (gc_B->cp_cp)));
/* extended choice point */ /* extended choice point */
restart_cp: restart_cp:
switch (opnum) { switch (opnum) {
@ -2854,9 +2851,6 @@ sweep_choicepoints(choiceptr gc_B)
} else } else
return; return;
case _trust_fail: case _trust_fail:
sweep_environments(gc_B->cp_env,
EnvSizeInCells,
NULL);
break; break;
case _or_else: case _or_else:
case _or_last: case _or_last: