impl MachineState {
pub(super) fn push_attr_var_binding(&mut self, h: usize, addr: Addr) {
if self.attr_var_init.bindings.is_empty() {
- self.attr_var_init.cp = self.p.local();
+ if self.last_call {
+ self.attr_var_init.cp = self.cp;
+ } else {
+ self.attr_var_init.cp = self.p.local();
+ }
+
self.p = CodePtr::VerifyAttrInterrupt(self.attr_var_init.verify_attrs_loc);
}
match self.p {
CodePtr::VerifyAttrInterrupt(_) => {
- self.p = CodePtr::Local(self.attr_var_init.cp);// + 1);
+ self.p = CodePtr::Local(self.attr_var_init.cp);
if !self.verify_attr_stepper(indices, policies, code_repo, prolog_stream) {
if self.fail {