Author: Maciej Fijalkowski <[email protected]>
Branch: optresult-unroll
Changeset: r79285:e476d8be1785
Date: 2015-08-28 18:32 +0200
http://bitbucket.org/pypy/pypy/changeset/e476d8be1785/

Log:    work a bit on tests

diff --git a/rpython/jit/metainterp/optimizeopt/optimizer.py 
b/rpython/jit/metainterp/optimizeopt/optimizer.py
--- a/rpython/jit/metainterp/optimizeopt/optimizer.py
+++ b/rpython/jit/metainterp/optimizeopt/optimizer.py
@@ -258,6 +258,8 @@
         self.optearlyforce = None
         self.optunroll = None
 
+        self._emitting = True
+
         self.set_optimizations(optimizations)
         self.setup()
 
@@ -576,8 +578,9 @@
                         self.force_box(farg)
         elif op.can_raise():
             self.exception_might_have_happened = True
-        self._really_emitted_operation = op
-        self._newoperations.append(op)
+        if self._emitting:
+            self._really_emitted_operation = op
+            self._newoperations.append(op)
 
     def getlastop(self):
         return self._really_emitted_operation
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py 
b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizeopt.py
@@ -1225,22 +1225,24 @@
         i1 = int_add(i0, 1)
         p1 = new_with_vtable(descr=nodesize2)
         p2 = new_with_vtable(descr=nodesize2)
+        setfield_gc(p2, i1, descr=valuedescr)
         setfield_gc(p2, p1, descr=nextdescr)
+        setfield_gc(p1, p2, descr=nextdescr)
         setfield_gc(p0, p1, descr=nextdescr)
-        setfield_gc(p2, i1, descr=valuedescr)
-        setfield_gc(p1, p2, descr=nextdescr)
-        jump(p1, p2, i1)
+        jump(p1)
         """
         loop = """
-        [p0, p41, i0]
+        [p0]
+        p41 = getfield_gc_r(p0, descr=nextdescr)
+        i0 = getfield_gc_i(p41, descr=valuedescr)
         i1 = int_add(i0, 1)
         p1 = new_with_vtable(descr=nodesize2)
         p2 = new_with_vtable(descr=nodesize2)
+        setfield_gc(p2, i1, descr=valuedescr)
         setfield_gc(p2, p1, descr=nextdescr)
         setfield_gc(p0, p1, descr=nextdescr)
-        setfield_gc(p2, i1, descr=valuedescr)
         setfield_gc(p1, p2, descr=nextdescr)
-        jump(p1, p2, i1)
+        jump(p1)
         """
         self.optimize_loop(ops, loop, preamble)
 
@@ -1294,8 +1296,8 @@
         i28 = int_add(i0, 1)
         i29 = int_add(i28, 1)
         p30 = new_with_vtable(descr=nodesize)
+        setfield_gc(p30, i28, descr=valuedescr)
         setfield_gc(p3, p30, descr=nextdescr)
-        setfield_gc(p30, i28, descr=valuedescr)
         #p46 = same_as(p30) # This same_as should be killed by backend
         jump(i29, p30, p3)
         """
@@ -1304,8 +1306,8 @@
         i28 = int_add(i0, 1)
         i29 = int_add(i28, 1)
         p30 = new_with_vtable(descr=nodesize)
+        setfield_gc(p30, i28, descr=valuedescr)
         setfield_gc(p3, p30, descr=nextdescr)
-        setfield_gc(p30, i28, descr=valuedescr)
         jump(i29, p30, p3)
         """
         self.optimize_loop(ops, expected, preamble)
@@ -2719,8 +2721,8 @@
         guard_true(i3) [p1, p4]
         i4 = int_neg(i2)
         p2 = new_with_vtable(descr=nodesize)
+        setfield_gc(p2, p4, descr=nextdescr)
         setfield_gc(p1, p2, descr=nextdescr)
-        setfield_gc(p2, p4, descr=nextdescr)
         #i101 = same_as(i4)
         jump(p1, i2, i4, p4) #, i101)
         """
@@ -2728,8 +2730,8 @@
         [p1, i2, i4, p4] #, i5]
         guard_true(i4) [p1, p4]
         p2 = new_with_vtable(descr=nodesize)
+        setfield_gc(p2, p4, descr=nextdescr)
         setfield_gc(p1, p2, descr=nextdescr)
-        setfield_gc(p2, p4, descr=nextdescr)
         jump(p1, i2, 1, p4) #, i5)
         """
         self.optimize_loop(ops, expected, preamble)
diff --git a/rpython/jit/metainterp/optimizeopt/unroll.py 
b/rpython/jit/metainterp/optimizeopt/unroll.py
--- a/rpython/jit/metainterp/optimizeopt/unroll.py
+++ b/rpython/jit/metainterp/optimizeopt/unroll.py
@@ -13,7 +13,7 @@
 from rpython.jit.metainterp import compile
 from rpython.rlib.debug import debug_print
 
-class UnrollableOptimizer(Optimizer):
+class UnrollableOptimizer(Optimizer):    
     def force_op_from_preamble(self, preamble_op):
         if isinstance(preamble_op, PreambleOp):
             op = preamble_op.op
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to