[pypy-commit] pypy optresult: due to lack of heapcache for now, shuffle the operation order

fijal noreply at buildbot.pypy.org
Sat Mar 7 13:17:04 CET 2015


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: optresult
Changeset: r76270:d0dc3f49b00b
Date: 2015-03-07 14:14 +0200
http://bitbucket.org/pypy/pypy/changeset/d0dc3f49b00b/

Log:	due to lack of heapcache for now, shuffle the operation order

diff --git a/rpython/jit/metainterp/optimizeopt/info.py b/rpython/jit/metainterp/optimizeopt/info.py
--- a/rpython/jit/metainterp/optimizeopt/info.py
+++ b/rpython/jit/metainterp/optimizeopt/info.py
@@ -71,9 +71,9 @@
                     fld = self._fields[i]
                     if fld is not None:
                         subbox = optforce.force_box(fld)
-                        op = ResOperation(rop.SETFIELD_GC, [op, subbox],
-                                          descr=flddescr)
-                        optforce.emit_operation(op)
+                        setfieldop = ResOperation(rop.SETFIELD_GC, [op, subbox],
+                                                  descr=flddescr)
+                        optforce.emit_operation(setfieldop)
             return newop
         return op
 
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
@@ -587,10 +587,10 @@
         [i1, p2, p3]
         i3 = getfield_gc_i(p3, descr=valuedescr)
         escape_n(i3)
-        p1 = new_with_vtable(ConstClass(node_vtable))
-        p1sub = new_with_vtable(ConstClass(node_vtable2))
+        p1 = new_with_vtable(ConstClass(node_vtable), descr=nodesize)
+        setfield_gc(p1, i1, descr=valuedescr)
+        p1sub = new_with_vtable(ConstClass(node_vtable2), descr=nodesize2)
         setfield_gc(p1sub, i1, descr=valuedescr)
-        setfield_gc(p1, i1, descr=valuedescr)
         setfield_gc(p1, p1sub, descr=nextdescr)
         jump(i1, p1, p2)
         """
@@ -604,10 +604,10 @@
         p3sub = getfield_gc_r(p3, descr=nextdescr)
         i3 = getfield_gc_i(p3sub, descr=valuedescr)
         escape_n(i3)
-        p1 = new_with_vtable(ConstClass(node_vtable))
-        p2sub = new_with_vtable(ConstClass(node_vtable2))
+        p2sub = new_with_vtable(ConstClass(node_vtable2), descr=nodesize2)
         setfield_gc(p2sub, i1, descr=valuedescr)
         setfield_gc(p2, p2sub, descr=nextdescr)
+        p1 = new_with_vtable(ConstClass(node_vtable), descr=nodesize)
         jump(i1, p1, p2)
         """
         # The same as test_p123_simple, but in the end the "old" p2 contains


More information about the pypy-commit mailing list