[pypy-commit] pypy jit-short_from_state: allow always pure opperations in short_preamble

hakanardo noreply at buildbot.pypy.org
Wed Jun 29 08:21:27 CEST 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-short_from_state
Changeset: r45170:fa033a59e246
Date: 2011-06-29 08:01 +0200
http://bitbucket.org/pypy/pypy/changeset/fa033a59e246/

Log:	allow always pure opperations in short_preamble

diff --git a/pypy/jit/metainterp/optimizeopt/optimizer.py b/pypy/jit/metainterp/optimizeopt/optimizer.py
--- a/pypy/jit/metainterp/optimizeopt/optimizer.py
+++ b/pypy/jit/metainterp/optimizeopt/optimizer.py
@@ -391,9 +391,9 @@
             new.values[box] = value.get_cloned(new, valuemap)
             
         new.pure_operations = args_dict()
-        #for key, op in self.pure_operations.items():
-        #    if op.result in short_boxes:
-        #        new.pure_operations[key] = op
+        for key, op in self.pure_operations.items():
+            if op.result in short_boxes:
+                new.pure_operations[key] = op
         new.producer = self.producer
         assert self.posponedop is None
         new.quasi_immutable_deps = self.quasi_immutable_deps
@@ -419,8 +419,9 @@
         return new
 
     def produce_potential_short_preamble_ops(self, potential_ops):
-        #for op in self.emitted_pure_operations:
-        #    potential_ops[op.result] = op
+        for op in self.emitted_pure_operations:
+            if op.is_always_pure():
+                potential_ops[op.result] = op
         for opt in self.optimizations:
             opt.produce_potential_short_preamble_ops(potential_ops)
 


More information about the pypy-commit mailing list