fix over zealous cleaning of attributed variables in heapgc.c
This commit is contained in:
parent
146718c060
commit
69d34fb0ce
@ -1481,7 +1481,6 @@ static void
|
|||||||
mark_environments(CELL_PTR gc_ENV, OPREG size, CELL *pvbmap)
|
mark_environments(CELL_PTR gc_ENV, OPREG size, CELL *pvbmap)
|
||||||
{
|
{
|
||||||
CELL_PTR saved_var;
|
CELL_PTR saved_var;
|
||||||
|
|
||||||
while (gc_ENV != NULL) { /* no more environments */
|
while (gc_ENV != NULL) { /* no more environments */
|
||||||
Int bmap = 0;
|
Int bmap = 0;
|
||||||
int currv = 0;
|
int currv = 0;
|
||||||
@ -1752,7 +1751,8 @@ mark_trail(tr_fr_ptr trail_ptr, tr_fr_ptr trail_base, CELL *gc_H, choiceptr gc_B
|
|||||||
/* reset the gc to believe the original tag */
|
/* reset the gc to believe the original tag */
|
||||||
TrailTerm(trail_base) = AbsAppl((CELL *)TrailTerm(trail_base));
|
TrailTerm(trail_base) = AbsAppl((CELL *)TrailTerm(trail_base));
|
||||||
}
|
}
|
||||||
mark_external_reference(&(TrailVal(trail_base)));
|
/* don't need to mark the next TrailVal, this is done at the end
|
||||||
|
of segment */
|
||||||
#else
|
#else
|
||||||
trail_base++;
|
trail_base++;
|
||||||
mark_external_reference(&(TrailTerm(trail_base)));
|
mark_external_reference(&(TrailTerm(trail_base)));
|
||||||
|
Reference in New Issue
Block a user