add scc_block to MachineState to avoid SCC cleanup terms being deallocated too early (#1427)
This commit is contained in:
@@ -4114,6 +4114,14 @@ impl Machine {
|
||||
self.get_current_block();
|
||||
step_or_fail!(self, self.machine_st.p = self.machine_st.cp);
|
||||
}
|
||||
&Instruction::CallGetCurrentSCCBlock => {
|
||||
self.get_current_scc_block();
|
||||
step_or_fail!(self, self.machine_st.p += 1);
|
||||
}
|
||||
&Instruction::ExecuteGetCurrentSCCBlock => {
|
||||
self.get_current_scc_block();
|
||||
step_or_fail!(self, self.machine_st.p = self.machine_st.cp);
|
||||
}
|
||||
&Instruction::CallGetCutPoint => {
|
||||
self.get_cut_point();
|
||||
step_or_fail!(self, self.machine_st.p += 1);
|
||||
@@ -4250,6 +4258,14 @@ impl Machine {
|
||||
self.reset_block();
|
||||
step_or_fail!(self, self.machine_st.p = self.machine_st.cp);
|
||||
}
|
||||
&Instruction::CallResetSCCBlock => {
|
||||
self.reset_scc_block();
|
||||
step_or_fail!(self, self.machine_st.p += 1);
|
||||
}
|
||||
&Instruction::ExecuteResetSCCBlock => {
|
||||
self.reset_scc_block();
|
||||
step_or_fail!(self, self.machine_st.p = self.machine_st.cp);
|
||||
}
|
||||
&Instruction::CallReturnFromVerifyAttr |
|
||||
&Instruction::ExecuteReturnFromVerifyAttr => {
|
||||
self.return_from_verify_attr();
|
||||
|
||||
Reference in New Issue
Block a user