[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