[pypy-commit] pypy stmgc-c4: missing emitting_an_operation_that_can_collect() for the inevitable-fallback

Remi Meier noreply at buildbot.pypy.org
Thu Dec 19 14:37:29 CET 2013


Author: Remi Meier
Branch: stmgc-c4
Changeset: r68485:853e37ea12e1
Date: 2013-12-19 14:36 +0100
http://bitbucket.org/pypy/pypy/changeset/853e37ea12e1/

Log:	missing emitting_an_operation_that_can_collect() for the inevitable-
	fallback

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
@@ -154,6 +154,9 @@
                 self.newops.append(op)
                 continue
             # ----------  fall-back  ----------
+            # Check that none of the ops handled here can_collect
+            # or cause a transaction break. This is not done by
+            # the fallback here
             self.fallback_inevitable(op)
             debug_print("fallback for", op.repr())
             #
@@ -316,6 +319,7 @@
     def fallback_inevitable(self, op):
         self.known_category.clear()
         if not self.always_inevitable:
+            self.emitting_an_operation_that_can_collect()
             self._do_stm_call('stm_try_inevitable', [], None)
             self.always_inevitable = True
         self.newops.append(op)


More information about the pypy-commit mailing list