[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