trust_fail needs not to mark environments, but in contrast termination needs.
This commit is contained in:
parent
11fb9183e1
commit
59e0f71a7d
@ -1971,10 +1971,7 @@ 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
|
|
||||||
if (opnum != _table_completion)
|
|
||||||
#endif /* TABLING */
|
|
||||||
mark_environments((CELL_PTR) gc_B->cp_env,
|
mark_environments((CELL_PTR) gc_B->cp_env,
|
||||||
EnvSize((yamop *) (gc_B->cp_cp)),
|
EnvSize((yamop *) (gc_B->cp_cp)),
|
||||||
EnvBMap((yamop *) (gc_B->cp_cp)));
|
EnvBMap((yamop *) (gc_B->cp_cp)));
|
||||||
@ -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:
|
||||||
|
Reference in New Issue
Block a user