[pypy-commit] pypy jit-usable_retrace_3: hg backout 6b229fd2221c

hakanardo noreply at buildbot.pypy.org
Fri Dec 28 18:39:51 CET 2012


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-usable_retrace_3
Changeset: r59611:329ae41501b3
Date: 2012-12-28 16:22 +0100
http://bitbucket.org/pypy/pypy/changeset/329ae41501b3/

Log:	hg backout 6b229fd2221c

diff --git a/pypy/jit/metainterp/compile.py b/pypy/jit/metainterp/compile.py
--- a/pypy/jit/metainterp/compile.py
+++ b/pypy/jit/metainterp/compile.py
@@ -242,7 +242,7 @@
                               [ResOperation(rop.JUMP, original_target_token.exported_state.jump_args,
                                             None, descr=loop_jitcell_token)]
         try:
-            optimize_trace(metainterp_sd, preamble, jitdriver_sd.warmstate.enable_opts, retraced_preamble=True)
+            optimize_trace(metainterp_sd, preamble, jitdriver_sd.warmstate.enable_opts)
         except InvalidLoop:
             assert False
 
diff --git a/pypy/jit/metainterp/optimizeopt/__init__.py b/pypy/jit/metainterp/optimizeopt/__init__.py
--- a/pypy/jit/metainterp/optimizeopt/__init__.py
+++ b/pypy/jit/metainterp/optimizeopt/__init__.py
@@ -48,7 +48,7 @@
 
     return optimizations, unroll
 
-def optimize_trace(metainterp_sd, loop, enable_opts, inline_short_preamble=True, retraced_preamble=False):
+def optimize_trace(metainterp_sd, loop, enable_opts, inline_short_preamble=True):
     """Optimize loop.operations to remove internal overheadish operations.
     """
 
@@ -58,7 +58,7 @@
                                                           loop.operations)
         optimizations, unroll = build_opt_chain(metainterp_sd, enable_opts)
         if unroll:
-            optimize_unroll(metainterp_sd, loop, optimizations, inline_short_preamble, retraced_preamble)
+            optimize_unroll(metainterp_sd, loop, optimizations, inline_short_preamble)
         else:
             optimizer = Optimizer(metainterp_sd, loop, optimizations)
             optimizer.propagate_all_forward()
diff --git a/pypy/jit/metainterp/optimizeopt/unroll.py b/pypy/jit/metainterp/optimizeopt/unroll.py
--- a/pypy/jit/metainterp/optimizeopt/unroll.py
+++ b/pypy/jit/metainterp/optimizeopt/unroll.py
@@ -14,10 +14,9 @@
 
 # FIXME: Introduce some VirtualOptimizer super class instead
 
-def optimize_unroll(metainterp_sd, loop, optimizations, inline_short_preamble=True, retraced_preamble=False):
+def optimize_unroll(metainterp_sd, loop, optimizations, inline_short_preamble=True):
     opt = UnrollOptimizer(metainterp_sd, loop, optimizations)
     opt.inline_short_preamble = inline_short_preamble
-    opt.retraced_preamble = retraced_preamble
     opt.propagate_all_forward()
 
 class UnrollableOptimizer(Optimizer):
@@ -140,26 +139,10 @@
         self.optimizer.flush()
         KillHugeIntBounds(self.optimizer).apply()
 
-        if self.retraced_preamble:
-            self.rename_sruviving_boxes(start_label, stop_label)
         loop.operations = self.optimizer.get_newoperations()
         self.export_state(stop_label)
         loop.operations.append(stop_label)
 
-    def rename_sruviving_boxes(self, start, stop):
-        assert start.getdescr().targeting_jitcell_token is not stop.getdescr().targeting_jitcell_token
-        assert start.numargs() == stop.numargs()
-        start_args = {}
-        for a in start.getarglist():
-            start_args[a] = True
-        for i in range(start.numargs()):
-            arg = stop.getarg(i)
-            if arg is not start.getarg(i) and arg in start_args:
-                newarg = arg.clonebox()
-                op = ResOperation(rop.SAME_AS, [arg], newarg)
-                self.optimizer.send_extra_operation(op)
-                stop.setarg(i, newarg)
-
     def jump_to_start_label(self, start_label, stop_label):
         if not start_label or not stop_label:
             return False


More information about the pypy-commit mailing list