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
1 changed files with 4 additions and 10 deletions

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,
EnvSizeInCells,
NULL);
else
#ifdef TABLING
if (opnum != _table_completion)
#endif /* TABLING */
mark_environments((CELL_PTR) gc_B->cp_env,
EnvSize((yamop *) (gc_B->cp_cp)),
EnvBMap((yamop *) (gc_B->cp_cp)));
else if (opnum != _trust_fail)
mark_environments((CELL_PTR) gc_B->cp_env,
EnvSize((yamop *) (gc_B->cp_cp)),
EnvBMap((yamop *) (gc_B->cp_cp)));
/* extended choice point */
restart_cp:
switch (opnum) {
@ -2854,9 +2851,6 @@ sweep_choicepoints(choiceptr gc_B)
} else
return;
case _trust_fail:
sweep_environments(gc_B->cp_env,
EnvSizeInCells,
NULL);
break;
case _or_else:
case _or_last: