]> Repositorios git - scryer-prolog.git/commitdiff
minor tweaks. l2_final origin/l2_final
authorMark Thom <[email protected]>
Tue, 28 Feb 2017 20:26:30 +0000 (13:26 -0700)
committerMark Thom <[email protected]>
Tue, 28 Feb 2017 20:26:30 +0000 (13:26 -0700)
src/l2/codegen.rs
src/l2/machine.rs

index 69ed888241d310ed08415de3cba561e989711706..4c175535f07e9137f47610c632f3daa9f98cf9bb 100644 (file)
@@ -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,
                     _ => {}
                 };
             }
index 869950d6956947665646a62f508b3957df5c84bd..3628d28576e8587f248dd78267bc92332d961212 100644 (file)
@@ -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
         }