[pypy-commit] pypy stmgc-c4: and another test for stmrewrite.py

Raemi noreply at buildbot.pypy.org
Wed Jul 31 13:40:30 CEST 2013


Author: Remi Meier <remi.meier at gmail.com>
Branch: stmgc-c4
Changeset: r65861:6356290b8a58
Date: 2013-07-31 13:39 +0200
http://bitbucket.org/pypy/pypy/changeset/6356290b8a58/

Log:	and another test for stmrewrite.py

diff --git a/rpython/jit/backend/llsupport/test/test_stmrewrite.py b/rpython/jit/backend/llsupport/test/test_stmrewrite.py
--- a/rpython/jit/backend/llsupport/test/test_stmrewrite.py
+++ b/rpython/jit/backend/llsupport/test/test_stmrewrite.py
@@ -118,6 +118,7 @@
             p4 = getfield_gc(p1, descr=tzdescr)
         """, """
             [p0]
+            cond_call_stm_b(p0, descr=P2Rdescr)
             p1 = getfield_gc(p0, descr=tzdescr)
             p2 = getfield_gc(p0, descr=tzdescr)
             cond_call_stm_b(p1, descr=P2Rdescr)
@@ -128,6 +129,27 @@
             p4 = getfield_gc(p1, descr=tzdescr)
         """)
 
+    def test_invalidate_read_status_after_write_to_array(self):
+        self.check_rewrite("""
+            [p0, i1, i2]
+            p1 = getarrayitem_gc(p0, i1, descr=adescr)
+            p2 = getarrayitem_gc(p0, i2, descr=adescr)
+            p3 = getfield_gc(p1, descr=tzdescr)
+            setfield_gc(p2, p0, descr=tzdescr)
+            p4 = getfield_gc(p1, descr=tzdescr)
+        """, """
+            [p0, i1, i2]
+            cond_call_stm_b(p0, descr=P2Rdescr)
+            p1 = getarrayitem_gc(p0, i1, descr=adescr)
+            p2 = getarrayitem_gc(p0, i2, descr=adescr)
+            cond_call_stm_b(p1, descr=P2Rdescr)
+            p3 = getfield_gc(p1, descr=tzdescr)
+            cond_call_stm_b(p2, descr=P2Rdescr)
+            setfield_gc(p2, p0, descr=tzdescr)
+            cond_call_stm_b(p1, descr=P2Rdescr)
+            p4 = getfield_gc(p1, descr=tzdescr)
+        """)
+
     def test_rewrite_write_barrier_after_malloc(self):
         self.check_rewrite("""
             [p1, p3]


More information about the pypy-commit mailing list