From 2ef5aa20d6f2787291f5bef73b0a3cca64de81ae Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Tue, 28 Feb 2017 13:26:30 -0700 Subject: [PATCH] minor tweaks. --- src/l2/codegen.rs | 20 ++++---------------- src/l2/machine.rs | 7 +++---- 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/src/l2/codegen.rs b/src/l2/codegen.rs index 69ed8882..4c175535 100644 --- a/src/l2/codegen.rs +++ b/src/l2/codegen.rs @@ -239,17 +239,7 @@ impl<'a> TermMarker<'a> { fn advance_at_header(&mut self, term: &'a Term) { self.arg_c = 1; - self.temp_c = max(term.subterms(), - self.bindings.values() - .filter_map(|vr| { - match vr { - &VarReg::Norm(RegType::Temp(reg)) | - &VarReg::ArgAndNorm(RegType::Temp(reg), _) => - Some(reg), - _ => None - } - }) - .max().unwrap_or(0)) + 1; + self.temp_c = max(term.subterms(), self.temp_c) + 1; } fn advance(&mut self, term: &'a Term) { @@ -370,15 +360,13 @@ impl<'a> CodeGenerator<'a> { { for term in iter { if let TermRef::Var(_, reg_cell, var) = term { - let mut status = - vs.entry(var) - .or_insert((TermStatus::New, Vec::new())); + let mut status = vs.entry(var) + .or_insert((TermStatus::New, Vec::new())); status.1.push(reg_cell); match status.0 { - TermStatus::Old | TermStatus::Recurrent => - status.0 = TermStatus::Recurrent, + TermStatus::Old => status.0 = TermStatus::Recurrent, _ => {} }; } diff --git a/src/l2/machine.rs b/src/l2/machine.rs index 869950d6..3628d285 100644 --- a/src/l2/machine.rs +++ b/src/l2/machine.rs @@ -99,8 +99,8 @@ impl Machine { } fn heap_view(&self, var_dir: HashMap<&Var, HeapCellRef>) -> String { - let mut result = String::new(); - + let mut result = String::new(); + for (var, hcr) in var_dir { let mut arities = Vec::new(); let viewer = HeapCellViewer::new(&self.ms.heap, hcr.heap_offset()); @@ -172,8 +172,7 @@ impl Machine { } if succeeded { - let result = Some(self.heap_view(heap_locs)); - result + Some(self.heap_view(heap_locs)) } else { None } -- 2.54.0