[pypy-svn] r78583 - in pypy/branch/jit-unroll-loops/pypy/jit/metainterp: optimizeopt test

hakanardo at codespeak.net hakanardo at codespeak.net
Sun Oct 31 11:18:50 CET 2010


Author: hakanardo
Date: Sun Oct 31 11:18:48 2010
New Revision: 78583

Modified:
   pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/heap.py
   pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/unroll.py
   pypy/branch/jit-unroll-loops/pypy/jit/metainterp/test/test_optimizeopt.py
Log:
(armin, cfbolz, hakanardo) Dont invalidate cached on set*_raw

Modified: pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/heap.py
==============================================================================
--- pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/heap.py	(original)
+++ pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/heap.py	Sun Oct 31 11:18:48 2010
@@ -107,7 +107,9 @@
             return
         opnum = op.getopnum()
         if (opnum == rop.SETFIELD_GC or
+            opnum == rop.SETFIELD_RAW or
             opnum == rop.SETARRAYITEM_GC or
+            opnum == rop.SETARRAYITEM_RAW or
             opnum == rop.DEBUG_MERGE_POINT):
             return
         assert opnum != rop.CALL_PURE

Modified: pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/unroll.py
==============================================================================
--- pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/unroll.py	(original)
+++ pypy/branch/jit-unroll-loops/pypy/jit/metainterp/optimizeopt/unroll.py	Sun Oct 31 11:18:48 2010
@@ -78,7 +78,7 @@
                     args.append(self.getvalue(arg).force_box())
                 newop.initarglist(args + inputargs[len(args):])
 
-            print 'P: ', str(newop)
+            #print 'P: ', str(newop)
             self.emit_operation(newop)
 
         jmp = self.optimizer.newoperations[-1]

Modified: pypy/branch/jit-unroll-loops/pypy/jit/metainterp/test/test_optimizeopt.py
==============================================================================
--- pypy/branch/jit-unroll-loops/pypy/jit/metainterp/test/test_optimizeopt.py	(original)
+++ pypy/branch/jit-unroll-loops/pypy/jit/metainterp/test/test_optimizeopt.py	Sun Oct 31 11:18:48 2010
@@ -3552,12 +3552,14 @@
         jump(p4, p7, i30)
         """
         expected = """
-        [p4, p7, i30, i2]
-        i33 = int_add(i2, i30)
-        setfield_raw(p7, i33, descr=nextdescr)        
-        jump(p4, p7, i30, i33)
+        [p4, p7, i30]
+        i1 = getfield_raw(p7, descr=nextdescr)
+        i2 = int_add(i1, i30)
+        setfield_raw(p7, 7, descr=nextdescr)
+        setfield_raw(p7, i2, descr=nextdescr)
+        jump(p4, p7, i30)
         """
-        self.optimize_loop(ops, expected)
+        self.optimize_loop(ops, expected, ops)
 
     def test_pure(self):
         ops = """



More information about the Pypy-commit mailing list