[pypy-commit] pypy jit-targets: optimize_trace might be forced to insert sameas operations infront of the label

hakanardo noreply at buildbot.pypy.org
Wed Nov 9 21:48:28 CET 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-targets
Changeset: r49064:aa824f7255e6
Date: 2011-11-09 21:15 +0100
http://bitbucket.org/pypy/pypy/changeset/aa824f7255e6/

Log:	optimize_trace might be forced to insert sameas operations infront
	of the label

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
@@ -214,13 +214,13 @@
     part.operations = [partial_trace.operations[-1]] + \
                       [h_ops[i].clone() for i in range(start, len(h_ops))] + \
                       [ResOperation(rop.JUMP, jumpargs, None, descr=loop_jitcell_token)]
+    label = part.operations[0]
+    assert label.getopnum() == rop.LABEL
     try:
         optimize_trace(metainterp_sd, part, jitdriver_sd.warmstate.enable_opts)
     except InvalidLoop:
         return None
     assert part.operations[-1].getopnum() != rop.LABEL
-    label = part.operations[0]
-    assert label.getopnum() == rop.LABEL
     target_token = label.getdescr()
     assert isinstance(target_token, TargetToken)
     assert loop_jitcell_token.target_tokens


More information about the pypy-commit mailing list