unmark dereferenced cells in term_variables/2 (#1412)
This commit is contained in:
@@ -2056,8 +2056,10 @@ impl MachineState {
|
|||||||
|
|
||||||
while let Some(value) = iter.next() {
|
while let Some(value) = iter.next() {
|
||||||
if value.get_forwarding_bit() {
|
if value.get_forwarding_bit() {
|
||||||
let value = unmark_cell_bits!(value);
|
let value = unmark_cell_bits!(heap_bound_store(
|
||||||
let value = heap_bound_store(iter.heap, heap_bound_deref(iter.heap, value));
|
iter.heap,
|
||||||
|
heap_bound_deref(iter.heap, value),
|
||||||
|
));
|
||||||
|
|
||||||
if value.is_compound() {
|
if value.is_compound() {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -4911,10 +4911,10 @@ impl Machine {
|
|||||||
let value = unmark_cell_bits!(value);
|
let value = unmark_cell_bits!(value);
|
||||||
|
|
||||||
if value.is_var() {
|
if value.is_var() {
|
||||||
let value = heap_bound_store(
|
let value = unmark_cell_bits!(heap_bound_store(
|
||||||
iter.heap,
|
iter.heap,
|
||||||
heap_bound_deref(iter.heap, value)
|
heap_bound_deref(iter.heap, value)
|
||||||
);
|
));
|
||||||
|
|
||||||
if value.is_var() {
|
if value.is_var() {
|
||||||
seen_set.insert(value);
|
seen_set.insert(value);
|
||||||
|
|||||||
Reference in New Issue
Block a user