detect immediately cyclic lists (#1384)

This commit is contained in:
Mark Thom
2022-04-06 22:53:48 -06:00
parent d952b7ace8
commit 4a6ffb6b9e

View File

@@ -167,7 +167,12 @@ impl<'a> StackfulPreOrderHeapIter<'a> {
self.push_if_unmarked(vh); self.push_if_unmarked(vh);
self.stack.push(IterStackLoc::iterable_heap_loc(vh + 1)); self.stack.push(IterStackLoc::iterable_heap_loc(vh + 1));
forward_if_referent_marked(&mut self.heap, vh + 1);
if self.heap[vh + 1].get_mark_bit() {
self.heap[vh + 1].set_forwarding_bit(true);
} else {
forward_if_referent_marked(&mut self.heap, vh + 1);
}
self.stack.push(IterStackLoc::mark_heap_loc(vh)); self.stack.push(IterStackLoc::mark_heap_loc(vh));
forward_if_referent_marked(&mut self.heap, vh); forward_if_referent_marked(&mut self.heap, vh);