Commits

Antonio Cuni  committed 639280a

bah, obviosuly closures are not rpython

  • Participants
  • Parent commits 872f7ed
  • Branches virtual-raw-mallocs

Comments (0)

Files changed (1)

File pypy/jit/metainterp/optimizeopt/earlyforce.py

 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
             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: