Author: Hakan Ardo <ha...@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 _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit