[pypy-commit] lang-smalltalk default: interpreter break stm compilation fix. added stm hints.

eseckler noreply at buildbot.pypy.org
Thu Apr 3 11:31:42 CEST 2014


Author: Eric Seckler <eric.seckler at student.hpi.uni-potsdam.de>
Branch: 
Changeset: r749:5cca4057febd
Date: 2014-01-14 14:23 +0100
http://bitbucket.org/pypy/lang-smalltalk/changeset/5cca4057febd/

Log:	interpreter break stm compilation fix. added stm hints.

diff --git a/spyvm/interpreter.py b/spyvm/interpreter.py
--- a/spyvm/interpreter.py
+++ b/spyvm/interpreter.py
@@ -6,6 +6,7 @@
 from spyvm.tool.bitmanipulation import splitter
 
 from rpython.rlib import jit
+from rpython.rlib.jit import hint
 from rpython.rlib import objectmodel, unroll
 try:
     from rpython.rlib import rstm
@@ -242,8 +243,9 @@
             self.jit_driver.jit_merge_point(
                 pc=pc, self=self, method=method,
                 s_context=s_context)
-            if rstm.should_break_transaction(False):
+            if rstm.jit_stm_should_break_transaction(False):
                 rstm.jit_stm_transaction_break_point()
+            self = self._hints_for_stm()
             try:
                 self.step(s_context)
             except Return, nlr:
@@ -262,6 +264,10 @@
 
                 self.fork(f.w_frame, f.w_stm_process)
 
+    def _hints_for_stm(self):
+        self = hint(self, stm_write=True)
+        self = hint(self, access_directly=True)
+        return self
 
     def _get_adapted_tick_counter(self):
         # Normally, the tick counter is decremented by 1 for every message send.


More information about the pypy-commit mailing list