Author: Remi Meier <remi.me...@gmail.com>
Branch: stmgc-c4
Changeset: r67487:51b6c398a0ff
Date: 2013-10-18 15:07 +0200
http://bitbucket.org/pypy/pypy/changeset/51b6c398a0ff/

Log:    undo the not-break-in-loop-body

diff --git a/rpython/jit/backend/llsupport/stmrewrite.py 
b/rpython/jit/backend/llsupport/stmrewrite.py
--- a/rpython/jit/backend/llsupport/stmrewrite.py
+++ b/rpython/jit/backend/llsupport/stmrewrite.py
@@ -43,14 +43,6 @@
            }
 
     def rewrite(self, operations):
-        # try to find a loop body:
-        last_label = None
-        in_loop_body = False
-        if operations[-1].getopnum() == rop.JUMP:
-            for op in operations:
-                if op.getopnum() == rop.LABEL:
-                    last_label = op
-        
         # overridden method from parent class
         #
         insert_transaction_break = False
@@ -131,10 +123,9 @@
                 self.emitting_an_operation_that_can_collect()
                 self.next_op_may_be_in_new_transaction()
 
-                if (not in_loop_body and (
-                        op.getopnum() == rop.CALL_MAY_FORCE or
-                        op.getopnum() == rop.CALL_ASSEMBLER or
-                        op.getopnum() == rop.CALL_RELEASE_GIL)):
+                if (op.getopnum() == rop.CALL_MAY_FORCE or
+                    op.getopnum() == rop.CALL_ASSEMBLER or
+                    op.getopnum() == rop.CALL_RELEASE_GIL):
                     # insert more transaction breaks after function
                     # calls since they are likely to return as
                     # inevitable transactions
@@ -174,8 +165,6 @@
                 self.known_lengths.clear()
                 self.always_inevitable = False
                 self.newops.append(op)
-                if op is last_label:
-                    in_loop_body = True
                 continue
             # ----------  jumps  ----------
             if op.getopnum() == rop.JUMP:
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
@@ -1185,6 +1185,8 @@
         """, calldescr2=calldescr2)
 
     def test_no_transactionbreak_in_loop_body(self):
+        py.test.skip("actually not good")
+
         class fakeextrainfo:
             def call_needs_inevitable(self):
                 return False
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to