[pypy-commit] pypy stmgc-c7: Next tests to pass

arigo noreply at buildbot.pypy.org
Mon Apr 21 18:23:06 CEST 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: stmgc-c7
Changeset: r70814:ea3d7a528f1a
Date: 2014-04-21 18:19 +0200
http://bitbucket.org/pypy/pypy/changeset/ea3d7a528f1a/

Log:	Next tests to pass

diff --git a/rpython/jit/backend/llsupport/test/test_rewrite.py b/rpython/jit/backend/llsupport/test/test_rewrite.py
--- a/rpython/jit/backend/llsupport/test/test_rewrite.py
+++ b/rpython/jit/backend/llsupport/test/test_rewrite.py
@@ -110,7 +110,8 @@
         operations = self.gc_ll_descr.rewrite_assembler(self.cpu,
                                                         ops.operations,
                                                         [])
-        equaloplists(operations, expected.operations)
+        equaloplists(operations, expected.operations,
+                     expect_stm_locations_from_right=True)
         lltype.free(frame_info, flavor='raw')
 
 class FakeTracker(object):
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
@@ -1187,3 +1187,45 @@
                 %(comment)s stm_read(p4)
                 jump(p2)
             """ % d, uxdescr=uxdescr, vdescr=vdescr)
+
+    def test_stm_location_1(self):
+        self.check_rewrite("""
+            [p1, p2]
+            setfield_gc(p1, p2, descr=tzdescr) {50}
+            jump()
+        """, """
+            [p1, p2]
+            cond_call_gc_wb(p1, descr=wbdescr) {50}
+            setfield_gc(p1, p2, descr=tzdescr) {50}
+            jump()
+        """)
+
+    def test_stm_location_2(self):
+        self.check_rewrite("""
+            [i1]
+            i3 = getfield_raw(i1, descr=tydescr) {52}
+            jump(i3)
+        """, """
+            [i1]
+            $INEV {52}
+            i3 = getfield_raw(i1, descr=tydescr) {52}
+            jump(i3)
+        """)
+
+    def test_stm_location_3(self):
+        self.check_rewrite("""
+        [i0, f0]
+        i2 = call_assembler(i0, f0, descr=casmdescr) {54}
+        guard_not_forced() [] {55}
+        """, """
+        [i0, f0]
+        i1 = getfield_raw(ConstClass(frame_info), descr=jfi_frame_depth)
+        p1 = call_malloc_nursery_varsize_frame(i1)
+        setfield_gc(p1, 0, descr=tiddescr)
+        setfield_gc(p1, i1, descr=framelendescr)
+        setfield_gc(p1, ConstClass(frame_info), descr=jf_frame_info)
+        setarrayitem_gc(p1, 0, i0, descr=signedframedescr)
+        setarrayitem_gc(p1, 1, f0, descr=floatframedescr)
+        i3 = call_assembler(p1, descr=casmdescr) {54}
+        guard_not_forced() [] {55}
+        """)


More information about the pypy-commit mailing list