[pypy-commit] pypy jit-targets: dont replace the the JitCellToken when retracing

hakanardo noreply at buildbot.pypy.org
Mon Nov 7 16:49:41 CET 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: jit-targets
Changeset: r48867:aa8ad4543ac2
Date: 2011-11-07 13:49 +0100
http://bitbucket.org/pypy/pypy/changeset/aa8ad4543ac2/

Log:	dont replace the the JitCellToken when retracing

diff --git a/pypy/jit/metainterp/optimizeopt/simplify.py b/pypy/jit/metainterp/optimizeopt/simplify.py
--- a/pypy/jit/metainterp/optimizeopt/simplify.py
+++ b/pypy/jit/metainterp/optimizeopt/simplify.py
@@ -43,7 +43,8 @@
             assert self.last_label_descr.targeting_jitcell_token is descr
             op.setdescr(self.last_label_descr)
         else:
-            import pdb; pdb.set_trace()
+            assert len(descr.target_tokens) == 1
+            op.setdescr(descr.target_tokens[0])
         self.emit_operation(op)
 
 dispatch_opt = make_dispatcher_method(OptSimplify, 'optimize_',
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
@@ -2036,8 +2036,10 @@
                                                 original_boxes[num_green_args:],
                                                 live_arg_boxes[num_green_args:],
                                                 start_resumedescr)
+            if target_token is not None:
+                self.jitdriver_sd.warmstate.attach_procedure_to_interp(greenkey, target_token.targeting_jitcell_token)
+
         if target_token is not None: # raise if it *worked* correctly
-            self.jitdriver_sd.warmstate.attach_procedure_to_interp(greenkey, target_token.targeting_jitcell_token)
             self.history.inputargs = None
             self.history.operations = None
             raise GenerateMergePoint(live_arg_boxes, target_token.targeting_jitcell_token)


More information about the pypy-commit mailing list