diff --git a/src/protocol/eval/store.rs b/src/protocol/eval/store.rs index de98d77e70a5314dc0f094dd8b0dff51bc257d53..4b598afe4fe7b31f566f3e3df2ff7ac336064666 100644 --- a/src/protocol/eval/store.rs +++ b/src/protocol/eval/store.rs @@ -52,8 +52,14 @@ impl Store { pub(crate) fn clear_stack(&mut self, unique_stack_idx: usize) { let new_size = self.cur_stack_boundary + unique_stack_idx + 1; for idx in new_size..self.stack.len() { - self.drop_value(self.stack[idx].get_heap_pos()); - self.stack[idx] = Value::Unassigned; + let heap_pos = self.stack[idx].get_heap_pos(); + self.drop_value(heap_pos); + + // TODO: @remove, somewhat temporarily not clearing pure stack + // values for testing purposes. + if heap_pos.is_some() { + self.stack[idx] = Value::Unassigned; + } } }