[pypy-svn] r65812 - pypy/branch/pyjitpl5/pypy/jit/metainterp/test
antocuni at codespeak.net
antocuni at codespeak.net
Thu Jun 18 12:18:33 CEST 2009
Author: antocuni
Date: Thu Jun 18 12:18:32 2009
New Revision: 65812
Modified:
pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_optimize3.py
Log:
this test passes out of the box
Modified: pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_optimize3.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_optimize3.py (original)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_optimize3.py Thu Jun 18 12:18:32 2009
@@ -12,7 +12,7 @@
from pypy.jit.metainterp.optimize3 import optimize_loop, LoopOptimizer,\
LoopSpecializer, OptimizeGuards, OptimizeVirtuals
from pypy.jit.metainterp.specnode3 import VirtualInstanceSpecNode, \
- NotSpecNode
+ NotSpecNode, FixedClassSpecNode
from pypy.jit.metainterp.test.test_optimize import equaloplists, ANY
from pypy.jit.metainterp.test.oparser import parse
@@ -293,7 +293,20 @@
assert spec.nodes[b.n1].escaped
assert spec.nodes[b.n2].known_class.source.value == self.node_vtable_adr
assert spec.nodes[b.n2].escaped
-
+
+ def test_virtual_escape_intersect_input_and_output(self):
+ loop = self._get_virtual_escape_loop()
+ spec = LoopSpecializer([OptimizeVirtuals()])
+ spec._init(loop)
+ spec.find_nodes()
+ spec.intersect_input_and_output()
+
+ assert len(spec.specnodes) == 2
+ spec_sum, spec_n = spec.specnodes
+ assert isinstance(spec_sum, NotSpecNode)
+ assert type(spec_n) is FixedClassSpecNode
+ assert spec_n.known_class.value == self.node_vtable_adr
+
class TestLLtype(LLtypeMixin, BaseTestOptimize3):
pass
More information about the Pypy-commit
mailing list