[pypy-svn] r29831 - pypy/dist/pypy/jit/timeshifter
pedronis at codespeak.net
pedronis at codespeak.net
Sat Jul 8 16:03:04 CEST 2006
Author: pedronis
Date: Sat Jul 8 16:03:00 2006
New Revision: 29831
Modified:
pypy/dist/pypy/jit/timeshifter/rtimeshift.py
Log:
(arre, pedronis)
try to repair the timeshifter breakage caused by the last refactoring.
Modified: pypy/dist/pypy/jit/timeshifter/rtimeshift.py
==============================================================================
--- pypy/dist/pypy/jit/timeshifter/rtimeshift.py (original)
+++ pypy/dist/pypy/jit/timeshifter/rtimeshift.py Sat Jul 8 16:03:00 2006
@@ -253,12 +253,18 @@
return -1
def save_return(jitstate, redboxes):
- jitstate.returnbox = redboxes[0]
-
+ returnbox = redboxes[0]
+ jitstate.return_queue.append((jitstate.curbuilder, returnbox))
+
def prepare_return(jitstate, cache, gv_return_type):
+ for builder, retbox in jitstate.return_queue[:-1]:
+ builder.leave_block()
+ jitstate.curbuilder = builder
+ retrieve_jitstate_for_merge(cache, jitstate, (), [retbox])
frozens, block = cache[()]
+ _, returnbox = jitstate.return_queue[-1]
builder = ResidualGraphBuilder(block)
- builder.valuebox = jitstate.returnbox
+ builder.valuebox = returnbox
return builder
def ll_gvar_from_redbox(jitstate, redbox):
@@ -332,6 +338,7 @@
def __init__(self, builder):
self.split_queue = []
+ self.return_queue = []
self.curbuilder = builder
More information about the Pypy-commit
mailing list