[pypy-svn] r79847 - in pypy/trunk/pypy/jit/metainterp: . test
arigo at codespeak.net
arigo at codespeak.net
Mon Dec 6 16:01:53 CET 2010
Author: arigo
Date: Mon Dec 6 16:01:51 2010
New Revision: 79847
Modified:
pypy/trunk/pypy/jit/metainterp/optimizefindnode.py
pypy/trunk/pypy/jit/metainterp/test/test_optimizeopt.py
Log:
Fix: optimizefindnode did not consider that constants were escaped!
Modified: pypy/trunk/pypy/jit/metainterp/optimizefindnode.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/optimizefindnode.py (original)
+++ pypy/trunk/pypy/jit/metainterp/optimizefindnode.py Mon Dec 6 16:01:51 2010
@@ -128,6 +128,7 @@
assert isinstance(constbox, Const)
node = InstanceNode()
node.unique = UNIQUE_NO
+ node.escaped = True
node.knownvaluebox = constbox
self.nodes[box] = node
return node
Modified: pypy/trunk/pypy/jit/metainterp/test/test_optimizeopt.py
==============================================================================
--- pypy/trunk/pypy/jit/metainterp/test/test_optimizeopt.py (original)
+++ pypy/trunk/pypy/jit/metainterp/test/test_optimizeopt.py Mon Dec 6 16:01:51 2010
@@ -1957,11 +1957,11 @@
def test_bug_4(self):
ops = """
[p9]
- setfield_gc(ConstPtr(myptr), p9, descr=nextdescr)
p30 = new_with_vtable(ConstClass(node_vtable))
+ setfield_gc(ConstPtr(myptr), p9, descr=nextdescr)
jump(p30)
"""
- self.optimize_loop(ops, 'Virtual(node_vtable)', Ellipsis)
+ self.optimize_loop(ops, 'Not', ops)
def test_invalid_loop_1(self):
ops = """
More information about the Pypy-commit
mailing list