From cde396650c8a2ee6e4d1defed6f68f89388af26c Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Wed, 22 Feb 2017 16:04:24 -0700 Subject: [PATCH] removed unnecessary lookup function --- src/l2/machine.rs | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/l2/machine.rs b/src/l2/machine.rs index fcaf5543..2d95d642 100644 --- a/src/l2/machine.rs +++ b/src/l2/machine.rs @@ -147,19 +147,11 @@ impl MachineState { registers: vec![HeapCellValue::Ref(0); 32] } } - fn lookup(&self, a: Addr) -> &HeapCellValue { - match a { - Addr::HeapCell(hc) => &self.heap[hc], - Addr::RegNum(reg) => &self.registers[reg], - Addr::StackCell(sc) => &self.stack[sc] - } - } - fn deref(&self, a: Addr) -> Addr { let mut a = a; loop { - if let &HeapCellValue::Ref(value) = self.lookup(a) { + if let &HeapCellValue::Ref(value) = &self[a] { if let Addr::HeapCell(av) = a { if value != av { a = Addr::HeapCell(value); @@ -224,7 +216,7 @@ impl MachineState { let d2 = self.deref(pdl.pop().unwrap()); if d1 != d2 { - match (self.lookup(d1), self.lookup(d2)) { + match (&self[d1], &self[d2]) { (&HeapCellValue::Ref(hc), _) => self.bind(d2, hc), (_, &HeapCellValue::Ref(hc)) => @@ -293,7 +285,7 @@ impl MachineState { &FactInstruction::GetStructure(_, ref name, arity, reg) => { let addr = self.deref(Addr::from(reg)); - match self.lookup(addr) { + match &self[addr] { &HeapCellValue::Str(a) => { let result = &self.heap[a]; -- 2.54.0