[pypy-commit] pypy jit-multilabel: kill old retrace logic no longer used
hakanardo
noreply at buildbot.pypy.org
Sat Dec 17 20:32:26 CET 2011
Author: Hakan Ardo <hakan at debian.org>
Branch: jit-multilabel
Changeset: r50633:bd3c0ac15e47
Date: 2011-12-17 18:42 +0100
http://bitbucket.org/pypy/pypy/changeset/bd3c0ac15e47/
Log: kill old retrace logic no longer used
diff --git a/pypy/jit/metainterp/optimize.py b/pypy/jit/metainterp/optimize.py
--- a/pypy/jit/metainterp/optimize.py
+++ b/pypy/jit/metainterp/optimize.py
@@ -6,12 +6,6 @@
we are trying to build cannot possibly make sense as a
long-running loop (e.g. it cannot run 2 complete iterations)."""
-class RetraceLoop(JitException):
- """ Raised when inlining a short preamble resulted in an
- InvalidLoop. This means the optimized loop is too specialized
- to be useful here, so we trace it again and produced a second
- copy specialized in some different way.
- """
# ____________________________________________________________
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
@@ -3,7 +3,7 @@
from pypy.jit.metainterp.compile import ResumeGuardDescr
from pypy.jit.metainterp.history import TreeLoop, TargetToken, JitCellToken
from pypy.jit.metainterp.jitexc import JitException
-from pypy.jit.metainterp.optimize import InvalidLoop, RetraceLoop
+from pypy.jit.metainterp.optimize import InvalidLoop
from pypy.jit.metainterp.optimizeopt.optimizer import *
from pypy.jit.metainterp.optimizeopt.generalize import KillHugeIntBounds
from pypy.jit.metainterp.inliner import Inliner
diff --git a/pypy/jit/metainterp/pyjitpl.py b/pypy/jit/metainterp/pyjitpl.py
--- a/pypy/jit/metainterp/pyjitpl.py
+++ b/pypy/jit/metainterp/pyjitpl.py
@@ -1548,11 +1548,6 @@
# ____________________________________________________________
-class RetraceState(object):
- def __init__(self, metainterp, live_arg_boxes):
- self.merge_point = len(metainterp.current_merge_points) - 1
- self.live_arg_boxes = live_arg_boxes
-
class MetaInterp(object):
in_recursion = 0
@@ -2110,43 +2105,6 @@
jitcell_token = target_token.targeting_jitcell_token
self.raise_continue_running_normally(live_arg_boxes, jitcell_token)
- def compile_bridge_and_loop(self, original_boxes, live_arg_boxes, start,
- bridge_arg_boxes, resume_at_jump_descr):
- num_green_args = self.jitdriver_sd.num_green_args
- original_inputargs = self.history.inputargs
- greenkey = original_boxes[:num_green_args]
- old_loop_tokens = self.get_compiled_merge_points(greenkey)
- original_operations = self.history.operations
- self.history.inputargs = original_boxes[num_green_args:]
- greenkey = original_boxes[:num_green_args]
- self.history.record(rop.JUMP, live_arg_boxes[num_green_args:], None)
- loop_token = compile.compile_new_loop(self, [], greenkey, start,
- resume_at_jump_descr, False)
- self.history.operations.pop() # remove the JUMP
- if loop_token is None:
- self.history.inputargs = original_inputargs
- self.history.operations = original_operations
- return
-
- if loop_token.short_preamble:
- old_loop_tokens[0].short_preamble.extend(loop_token.short_preamble)
-
- self.history.inputargs = original_inputargs
- self.history.operations = self.history.operations[:start]
-
- self.history.record(rop.JUMP, bridge_arg_boxes[num_green_args:], None)
- try:
- target_loop_token = compile.compile_new_bridge(self,
- #[loop_token],
- old_loop_tokens,
- self.resumekey,
- True)
- except RetraceLoop:
- assert False
- assert target_loop_token is not None
- self.raise_continue_running_normally(live_arg_boxes,
- old_loop_tokens[0])
-
def compile_done_with_this_frame(self, exitbox):
self.gen_store_back_in_virtualizable()
# temporarily put a JUMP to a pseudo-loop
diff --git a/pypy/jit/metainterp/test/test_virtualstate.py b/pypy/jit/metainterp/test/test_virtualstate.py
--- a/pypy/jit/metainterp/test/test_virtualstate.py
+++ b/pypy/jit/metainterp/test/test_virtualstate.py
@@ -11,7 +11,6 @@
from pypy.jit.metainterp.optimizeopt.intutils import IntBound
from pypy.jit.metainterp.history import TreeLoop, JitCellToken
from pypy.jit.metainterp.optimizeopt.test.test_optimizeopt import FakeMetaInterpStaticData
-from pypy.jit.metainterp.optimize import RetraceLoop
from pypy.jit.metainterp.resoperation import ResOperation, rop
class TestBasic:
More information about the pypy-commit
mailing list