correct off by 1 error in verify_attrs_interrupt, revert to previous lists.pl
This commit is contained in:
@@ -383,7 +383,7 @@ impl Machine {
|
||||
|
||||
fn throw_session_error(&mut self, err: SessionError, key: PredicateKey) {
|
||||
let h = self.machine_st.heap.h;
|
||||
|
||||
|
||||
let err = MachineError::session_error(h, err);
|
||||
let stub = MachineError::functor_stub(key.0, key.1);
|
||||
let err = self.machine_st.error_form(err, stub);
|
||||
@@ -600,7 +600,7 @@ impl Machine {
|
||||
self.machine_st.absorb_snapshot(snapshot);
|
||||
self.machine_st.ball = ball;
|
||||
|
||||
let h = self.machine_st.heap.h;
|
||||
let h = self.machine_st.heap.h;
|
||||
let stub = self.machine_st.ball.copy_and_align(h);
|
||||
|
||||
self.machine_st.throw_exception(stub);
|
||||
@@ -1046,7 +1046,7 @@ impl MachineState {
|
||||
|
||||
match self.p {
|
||||
CodePtr::VerifyAttrInterrupt(_) => {
|
||||
self.p = CodePtr::Local(self.attr_var_init.cp + 1);
|
||||
self.p = CodePtr::Local(self.attr_var_init.cp);// + 1);
|
||||
|
||||
if !self.verify_attr_stepper(indices, policies, code_repo, prolog_stream) {
|
||||
if self.fail {
|
||||
|
||||
@@ -1617,10 +1617,10 @@ impl MachineState {
|
||||
if let &Addr::Con(Constant::Usize(num_of_args)) = &self.and_stack[e][frame_len] {
|
||||
self.num_of_args = num_of_args;
|
||||
}
|
||||
|
||||
self.p = CodePtr::Local(self.and_stack[e].interrupt_cp);
|
||||
|
||||
self.deallocate();
|
||||
|
||||
self.p = CodePtr::Local(self.and_stack[e].interrupt_cp);
|
||||
|
||||
return Ok(());
|
||||
}
|
||||
&SystemClauseType::RestoreCutPolicy => {
|
||||
|
||||
Reference in New Issue
Block a user