fix gc of named arrays.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@237 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
2b78d7ce14
commit
8bd62b9125
@ -23,7 +23,7 @@ static char SccsId[] = "%W% %G%";
|
|||||||
|
|
||||||
#define EARLY_RESET 1
|
#define EARLY_RESET 1
|
||||||
#ifndef TABLING
|
#ifndef TABLING
|
||||||
//#define EASY_SHUNTING 1
|
#define EASY_SHUNTING 1
|
||||||
#endif
|
#endif
|
||||||
#define HYBRID_SCHEME 1
|
#define HYBRID_SCHEME 1
|
||||||
|
|
||||||
@ -1666,9 +1666,10 @@ sweep_trail(choiceptr gc_B, tr_fr_ptr old_TR)
|
|||||||
}
|
}
|
||||||
} else if ((CELL *)trail_cell < (CELL *)HeapTop) {
|
} else if ((CELL *)trail_cell < (CELL *)HeapTop) {
|
||||||
/* we may have pointers from the heap back into the cell */
|
/* we may have pointers from the heap back into the cell */
|
||||||
|
CELL *next = GET_NEXT(*CellPtr(trail_cell));
|
||||||
UNMARK(CellPtr(trail_cell));
|
UNMARK(CellPtr(trail_cell));
|
||||||
if (HEAP_PTR(trail_cell)) {
|
if (HEAP_PTR(*CellPtr(trail_cell))) {
|
||||||
into_relocation_chain(CellPtr(trail_cell), GET_NEXT(*(CELL *)trail_cell));
|
into_relocation_chain(CellPtr(trail_cell),next);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef FROZEN_STACKS
|
#ifdef FROZEN_STACKS
|
||||||
|
Reference in New Issue
Block a user