[pypy-svn] r70825 - in pypy/branch/direct-assembler-call/pypy/jit/metainterp: . test

fijal at codespeak.net fijal at codespeak.net
Mon Jan 25 13:35:01 CET 2010


Author: fijal
Date: Mon Jan 25 13:34:59 2010
New Revision: 70825

Modified:
   pypy/branch/direct-assembler-call/pypy/jit/metainterp/test/test_virtualizable.py
   pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmstate.py
Log:
return instead of assert. it seems to be a bit fragile. this fix is not
really a valid one, but it's improving things. to be investigated on trunk.


Modified: pypy/branch/direct-assembler-call/pypy/jit/metainterp/test/test_virtualizable.py
==============================================================================
--- pypy/branch/direct-assembler-call/pypy/jit/metainterp/test/test_virtualizable.py	(original)
+++ pypy/branch/direct-assembler-call/pypy/jit/metainterp/test/test_virtualizable.py	Mon Jan 25 13:34:59 2010
@@ -1193,6 +1193,8 @@
         self.check_loops(getfield_gc=0, setfield_gc=0)
 
     def test_blackhole_should_not_reenter(self):
+        # Armin thinks this can occur and does not make interpreters slower
+        # so we don't check for assertionerror, to be discussed
         if not self.basic:
             py.test.skip("purely frontend test")
 
@@ -1234,8 +1236,9 @@
             f(10, True)
             return f(10, False)
 
-        einfo = py.test.raises(AssertionError, self.meta_interp, main, [])
-        assert einfo.value.args[0] == "reentering same frame via blackhole"
+        self.meta_interp(main, [])
+        #einfo = py.test.raises(AssertionError, self.meta_interp, main, [])
+        #assert einfo.value.args[0] == "reentering same frame via blackhole"
 
     def test_inlining(self):
         class Frame(object):

Modified: pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmstate.py
==============================================================================
--- pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmstate.py	(original)
+++ pypy/branch/direct-assembler-call/pypy/jit/metainterp/warmstate.py	Mon Jan 25 13:34:59 2010
@@ -212,8 +212,8 @@
             if vinfo is not None:
                 virtualizable = args[vinfo.index_of_virtualizable]
                 virtualizable = vinfo.cast_to_vtype(virtualizable)
-                assert virtualizable != globaldata.blackhole_virtualizable, (
-                    "reentering same frame via blackhole")
+                if globaldata.blackhole_virtualizable == virtualizable:
+                    return
             else:
                 virtualizable = None
 



More information about the Pypy-commit mailing list