[pypy-svn] r70508 - in pypy/branch/loop-invariant-decorator/pypy/jit/metainterp: . test

cfbolz at codespeak.net cfbolz at codespeak.net
Mon Jan 11 16:10:51 CET 2010


Author: cfbolz
Date: Mon Jan 11 16:10:50 2010
New Revision: 70508

Modified:
   pypy/branch/loop-invariant-decorator/pypy/jit/metainterp/optimizeopt.py
   pypy/branch/loop-invariant-decorator/pypy/jit/metainterp/test/test_optimizeopt.py
Log:
Called functions are ConstAddrs, use the address itself as keys.


Modified: pypy/branch/loop-invariant-decorator/pypy/jit/metainterp/optimizeopt.py
==============================================================================
--- pypy/branch/loop-invariant-decorator/pypy/jit/metainterp/optimizeopt.py	(original)
+++ pypy/branch/loop-invariant-decorator/pypy/jit/metainterp/optimizeopt.py	Mon Jan 11 16:10:50 2010
@@ -880,7 +880,7 @@
         if not funcvalue.is_constant():
             self.optimize_default(op)
             return
-        resvalue = self.loop_invariant_results.get(op.args[0], None)
+        resvalue = self.loop_invariant_results.get(op.args[0].getint(), None)
         if resvalue is not None:
             self.make_equal_to(op.result, resvalue)
             return
@@ -889,7 +889,7 @@
         op.opnum = rop.CALL
         self.optimize_default(op)
         resvalue = self.getvalue(op.result)
-        self.loop_invariant_results[op.args[0]] = resvalue
+        self.loop_invariant_results[op.args[0].getint()] = resvalue
             
 
 optimize_ops = _findall(Optimizer, 'optimize_')

Modified: pypy/branch/loop-invariant-decorator/pypy/jit/metainterp/test/test_optimizeopt.py
==============================================================================
--- pypy/branch/loop-invariant-decorator/pypy/jit/metainterp/test/test_optimizeopt.py	(original)
+++ pypy/branch/loop-invariant-decorator/pypy/jit/metainterp/test/test_optimizeopt.py	Mon Jan 11 16:10:50 2010
@@ -651,20 +651,20 @@
     def test_call_loopinvariant(self):
         ops = """
         [i1]
-        i2 = call_loopinvariant(i1, descr=nonwritedescr)
+        i2 = call_loopinvariant(1, i1, descr=nonwritedescr)
         guard_no_exception() []
         guard_value(i2, 1) []
-        i3 = call_loopinvariant(i1, descr=nonwritedescr)
+        i3 = call_loopinvariant(1, i1, descr=nonwritedescr)
         guard_no_exception() []
         guard_value(i2, 1) []
-        i4 = call_loopinvariant(i1, descr=nonwritedescr)
+        i4 = call_loopinvariant(1, i1, descr=nonwritedescr)
         guard_no_exception() []
         guard_value(i2, 1) []
         jump(i1)
         """
         expected = """
         [i1]
-        i2 = call(i1, descr=nonwritedescr)
+        i2 = call(1, i1, descr=nonwritedescr)
         guard_no_exception() []
         guard_value(i2, 1) []
         jump(i1)



More information about the Pypy-commit mailing list