[pypy-svn] r32852 - pypy/dist/pypy/jit/timeshifter

pedronis at codespeak.net pedronis at codespeak.net
Tue Oct 3 18:03:33 CEST 2006


Author: pedronis
Date: Tue Oct  3 18:03:30 2006
New Revision: 32852

Modified:
   pypy/dist/pypy/jit/timeshifter/rtimeshift.py
Log:
fix some XXX. one was not relevant anymore: we always clear the caches when we reach the promotion point resuming.




Modified: pypy/dist/pypy/jit/timeshifter/rtimeshift.py
==============================================================================
--- pypy/dist/pypy/jit/timeshifter/rtimeshift.py	(original)
+++ pypy/dist/pypy/jit/timeshifter/rtimeshift.py	Tue Oct  3 18:03:30 2006
@@ -202,15 +202,14 @@
     res = frozen.exactmatch(jitstate, outgoingvarboxes, memo)
     assert res, "exactmatch() failed"
     newblock = enter_next_block(jitstate, outgoingvarboxes)
-    # XXX don't save newblock, or have rgenop produce None, when resuming
     states_dic[key] = frozen, newblock
     if global_resumer is not None and global_resumer is not return_marker:
         greens_gv = jitstate.greens
         rgenop = jitstate.curbuilder.rgenop
-        jitstate.promotion_path = PromotionPathRoot(greens_gv, rgenop,
-                                                    frozen, newblock,
-                                                    global_resumer)
-        # XXX put a PromotionPathMergesToSee too
+        node = PromotionPathRoot(greens_gv, rgenop,
+                                 frozen, newblock,
+                                 global_resumer)
+        jitstate.promotion_path = PromotionPathMergesToSee(node, 0)
 start_new_block._annspecialcase_ = "specialize:arglltype(2)"
 
 def retrieve_jitstate_for_merge(states_dic, jitstate, key, global_resumer):
@@ -456,6 +455,7 @@
         jitstate.greens = self.greens_gv
         jitstate.resuming = resuminginfo
         assert jitstate.frame.backframe is None
+        resuminginfo.merges_to_see()
         self.global_resumer(jitstate)
         builder.show_incremental_progress()
 



More information about the Pypy-commit mailing list