[pypy-svn] r24515 - in pypy/dist/pypy/jit: . test

arigo at codespeak.net arigo at codespeak.net
Fri Mar 17 11:57:43 CET 2006


Author: arigo
Date: Fri Mar 17 11:57:42 2006
New Revision: 24515

Modified:
   pypy/dist/pypy/jit/llcontainer.py
   pypy/dist/pypy/jit/test/test_llabstractinterp.py
Log:
llabstractinterp: merging virtual substructures require
matching the whole structure.


Modified: pypy/dist/pypy/jit/llcontainer.py
==============================================================================
--- pypy/dist/pypy/jit/llcontainer.py	(original)
+++ pypy/dist/pypy/jit/llcontainer.py	Fri Mar 17 11:57:42 2006
@@ -98,6 +98,13 @@
         if self.__class__ is not live.__class__:
             return False
 
+        if self.a_parent is not None:
+            if (live.a_parent is None or
+                not self.a_parent.match(live.a_parent, memo)):
+                return False
+        elif live.a_parent is not None:
+            return False
+
         if self in memo.self_alias:
             return live is memo.self_alias[self]
         if live in memo.live_alias:

Modified: pypy/dist/pypy/jit/test/test_llabstractinterp.py
==============================================================================
--- pypy/dist/pypy/jit/test/test_llabstractinterp.py	(original)
+++ pypy/dist/pypy/jit/test/test_llabstractinterp.py	Fri Mar 17 11:57:42 2006
@@ -297,7 +297,6 @@
     graph2, insns = abstrinterp(ll_function, [1, 0], [])
 
 def test_merge_substructure():
-    py.test.skip('Inprogress')
     S = lltype.GcStruct('S', ('n', lltype.Signed))
     T = lltype.GcStruct('T', ('s', S), ('n', lltype.Float))
 



More information about the Pypy-commit mailing list