[pypy-commit] pypy virtual-raw-mallocs: bah, obviosuly closures are not rpython

antocuni noreply at buildbot.pypy.org
Wed Dec 19 19:49:26 CET 2012


Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: virtual-raw-mallocs
Changeset: r59511:639280a73f16
Date: 2012-12-19 19:49 +0100
http://bitbucket.org/pypy/pypy/changeset/639280a73f16/

Log:	bah, obviosuly closures are not rpython

diff --git a/pypy/jit/metainterp/optimizeopt/earlyforce.py b/pypy/jit/metainterp/optimizeopt/earlyforce.py
--- a/pypy/jit/metainterp/optimizeopt/earlyforce.py
+++ b/pypy/jit/metainterp/optimizeopt/earlyforce.py
@@ -3,14 +3,16 @@
 from pypy.jit.metainterp.optimizeopt.vstring import VAbstractStringValue
 from pypy.jit.metainterp.resoperation import rop, ResOperation
 
+def is_raw_free(op, opnum):
+    if opnum != rop.CALL:
+        return False
+    einfo = op.getdescr().get_extra_info()
+    return einfo.oopspecindex == EffectInfo.OS_RAW_FREE
+
+
 class OptEarlyForce(Optimization):
     def propagate_forward(self, op):
         opnum = op.getopnum()
-        def is_raw_free():
-            if opnum != rop.CALL:
-                return False
-            einfo = op.getdescr().get_extra_info()
-            return einfo.oopspecindex == EffectInfo.OS_RAW_FREE
 
         if (opnum != rop.SETFIELD_GC and 
             opnum != rop.SETARRAYITEM_GC and
@@ -18,7 +20,7 @@
             opnum != rop.QUASIIMMUT_FIELD and
             opnum != rop.SAME_AS and
             opnum != rop.MARK_OPAQUE_PTR and
-            not is_raw_free()):
+            not is_raw_free(op, opnum)):
                
             for arg in op.getarglist():
                 if arg in self.optimizer.values:


More information about the pypy-commit mailing list