[pypy-commit] pypy default: a failing JIT test. it seems to fail because we try to cast an rpy_str to rclass.OBJECT, perhaps this operation is not allowed, but then the underlying code shouldn't translate I think.

alex_gaynor noreply at buildbot.pypy.org
Sun Oct 23 02:05:16 CEST 2011


Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch: 
Changeset: r48351:9b942c1b56a8
Date: 2011-10-22 17:05 -0700
http://bitbucket.org/pypy/pypy/changeset/9b942c1b56a8/

Log:	a failing JIT test. it seems to fail because we try to cast an
	rpy_str to rclass.OBJECT, perhaps this operation is not allowed, but
	then the underlying code shouldn't translate I think.

diff --git a/pypy/jit/metainterp/test/test_ajit.py b/pypy/jit/metainterp/test/test_ajit.py
--- a/pypy/jit/metainterp/test/test_ajit.py
+++ b/pypy/jit/metainterp/test/test_ajit.py
@@ -3435,7 +3435,23 @@
             return sa
         res = self.meta_interp(f, [16])
         assert res == f(16)
-        
+
+    def test_ptr_eq_str_constants(self):
+        myjitdriver = JitDriver(greens = [], reds = ["n", "x"])
+        class A(object):
+            def __init__(self, v):
+                self.v = v
+        def f(n, x):
+            while n > 0:
+                myjitdriver.jit_merge_point(n=n, x=x)
+                z = 0 / x
+                a1 = A("key")
+                a2 = A("\x00")
+                n -= [a1, a2][z].v is not a2.v
+            return n
+        res = self.meta_interp(f, [10, 1])
+        assert res == 0
+
 
 
 class TestLLtype(BaseLLtypeTests, LLJitMixin):


More information about the pypy-commit mailing list