From 0876d4688047e413e1ebab058e52c86e69a5227e Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Sat, 9 Apr 2022 12:15:46 -0600 Subject: [PATCH] unmark dereferenced cells in term_variables/2 (#1412) --- src/machine/machine_state_impl.rs | 6 ++++-- src/machine/system_calls.rs | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/machine/machine_state_impl.rs b/src/machine/machine_state_impl.rs index 2686aef4..751b88bf 100644 --- a/src/machine/machine_state_impl.rs +++ b/src/machine/machine_state_impl.rs @@ -2056,8 +2056,10 @@ impl MachineState { while let Some(value) = iter.next() { if value.get_forwarding_bit() { - let value = unmark_cell_bits!(value); - let value = heap_bound_store(iter.heap, heap_bound_deref(iter.heap, value)); + let value = unmark_cell_bits!(heap_bound_store( + iter.heap, + heap_bound_deref(iter.heap, value), + )); if value.is_compound() { return true; diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index 6a572b8f..d9ff4e32 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -4911,10 +4911,10 @@ impl Machine { let value = unmark_cell_bits!(value); if value.is_var() { - let value = heap_bound_store( + let value = unmark_cell_bits!(heap_bound_store( iter.heap, heap_bound_deref(iter.heap, value) - ); + )); if value.is_var() { seen_set.insert(value); -- 2.54.0