use acyclic iteration when projecting onto query vars

This commit is contained in:
Mark Thom
2019-02-22 17:48:49 -07:00
parent f41b5f465e
commit 6ba47b6b08
6 changed files with 30 additions and 14 deletions

View File

@@ -743,6 +743,12 @@ impl MachineState {
let a2 = self[temp_v!(2)].clone();
self.unify(a2, outcome);
},
&SystemClauseType::TruncateLiftedHeapTo =>
match self.store(self.deref(self[temp_v!(1)].clone())) {
Addr::Con(Constant::Usize(lh_offset)) =>
self.lifted_heap.truncate(lh_offset),
_ => self.fail = true
},
&SystemClauseType::UnwindStack => self.unwind_stack(),
&SystemClauseType::WriteTerm => {
let addr = self[temp_v!(1)].clone();