[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