[pypy-svn] r69883 - pypy/branch/virtual-forcing/pypy/rpython

arigo at codespeak.net arigo at codespeak.net
Thu Dec 3 23:52:57 CET 2009


Author: arigo
Date: Thu Dec  3 23:52:56 2009
New Revision: 69883

Modified:
   pypy/branch/virtual-forcing/pypy/rpython/rvirtualizable2.py
Log:
Sorry, revert broken version.


Modified: pypy/branch/virtual-forcing/pypy/rpython/rvirtualizable2.py
==============================================================================
--- pypy/branch/virtual-forcing/pypy/rpython/rvirtualizable2.py	(original)
+++ pypy/branch/virtual-forcing/pypy/rpython/rvirtualizable2.py	Thu Dec  3 23:52:56 2009
@@ -61,7 +61,10 @@
     count = 0
     for graph in graphs:
         for block in graph.iterblocks():
-            for op in block.operations:
+            if not block.operations:
+                continue
+            newoplist = []
+            for i, op in enumerate(block.operations):
                 if (op.opname == 'jit_force_virtualizable' and
                     match_virtualizable_type(op.args[0].concretetype,
                                              VTYPEPTR)):
@@ -70,6 +73,8 @@
                     op.opname = 'direct_call'
                     op.args = [c_funcptr, op.args[0]]
                     count += 1
+                newoplist.append(op)
+            block.operations = newoplist
     log("replaced %d 'jit_force_virtualizable' with %r" % (count, funcptr))
 
 def match_virtualizable_type(TYPE, VTYPEPTR):



More information about the Pypy-commit mailing list