[pypy-commit] pypy default: restore history when retraced loop fails to compile

hakanardo noreply at buildbot.pypy.org
Sun Jun 19 15:17:42 CEST 2011


Author: Hakan Ardo <hakan at debian.org>
Branch: 
Changeset: r45003:70b3f1f3beb4
Date: 2011-06-19 15:21 +0200
http://bitbucket.org/pypy/pypy/changeset/70b3f1f3beb4/

Log:	restore history when retraced loop fails to compile

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
@@ -1928,7 +1928,6 @@
 
         self.history.inputargs = original_inputargs
         self.history.operations.pop()     # remove the JUMP
-        # FIXME: Why is self.history.inputargs not restored?
 
     def compile_bridge(self, live_arg_boxes):
         num_green_args = self.jitdriver_sd.num_green_args
@@ -1964,6 +1963,8 @@
                                               start_resumedescr, 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:


More information about the pypy-commit mailing list