track attr_var_init lengths on the stack (#1667)

This commit is contained in:
Mark Thom
2022-12-16 00:42:31 -07:00
parent 1eff758751
commit cf63e8375d
8 changed files with 15 additions and 21 deletions

View File

@@ -4623,9 +4623,9 @@ impl Machine {
}
#[inline(always)]
pub(crate) fn reset_attr_var_state(&mut self) {
pub(crate) fn reset_attr_var_state(&mut self, queue_len: usize) {
self.restore_instr_at_verify_attr_interrupt();
self.machine_st.attr_var_init.reset();
self.machine_st.attr_var_init.reset(queue_len);
}
#[inline(always)]
@@ -4653,6 +4653,8 @@ impl Machine {
#[inline(always)]
pub(crate) fn return_from_verify_attr(&mut self) {
self.restore_instr_at_verify_attr_interrupt();
let e = self.machine_st.e;
let frame_len = self.machine_st.stack.index_and_frame(e).prelude.univ_prelude.num_cells;