fix arg/3 bug
This commit is contained in:
@@ -2974,7 +2974,7 @@ impl MachineState {
|
||||
// arg(+N, +Term, ?Arg)
|
||||
pub fn try_arg(&mut self) -> CallResult {
|
||||
let stub_gen = || functor_stub(atom!("arg"), 3);
|
||||
let n = self.registers[1]; //self.store(self.deref(self.registers[1])); // TODO: necessary?
|
||||
let n = self.store(self.deref(self.registers[1]));
|
||||
|
||||
read_heap_cell!(n,
|
||||
(HeapCellValueTag::Var | HeapCellValueTag::AttrVar | HeapCellValueTag::StackVar) => {
|
||||
|
||||
@@ -3795,12 +3795,12 @@ impl MachineState {
|
||||
self.reset_block(addr);
|
||||
}
|
||||
&SystemClauseType::ResetContinuationMarker => {
|
||||
self.registers[3] = atom_as_cell!(atom!("none"));
|
||||
|
||||
let h = self.heap.len();
|
||||
self.heap.push(heap_loc_as_cell!(h));
|
||||
|
||||
self.registers[3] = atom_as_cell!(atom!("none"));
|
||||
self.registers[4] = heap_loc_as_cell!(h);
|
||||
|
||||
self.heap.push(heap_loc_as_cell!(h));
|
||||
}
|
||||
&SystemClauseType::SetBall => {
|
||||
self.set_ball();
|
||||
|
||||
Reference in New Issue
Block a user