[pypy-commit] lang-smalltalk default: new try
amintos
noreply at buildbot.pypy.org
Thu Apr 3 11:31:41 CEST 2014
Author: amintos
Branch:
Changeset: r748:83d30531d7fb
Date: 2014-01-14 13:24 +0100
http://bitbucket.org/pypy/lang-smalltalk/changeset/83d30531d7fb/
Log: new try
diff --git a/spyvm/interpreter.py b/spyvm/interpreter.py
--- a/spyvm/interpreter.py
+++ b/spyvm/interpreter.py
@@ -133,6 +133,7 @@
greens=[],
reds=['pc', 's_context', 'self', 'method'],
virtualizables=['s_context'],
+ stm_do_transaction_breaks=True
# get_printable_location=get_printable_location
)
@@ -226,7 +227,7 @@
if not jit.we_are_jitted() and may_context_switch:
self.quick_check_for_interrupt(s_context)
method = s_context.s_method()
- while not rstm.should_break_transaction():
+ while True:
pc = s_context.pc()
if pc < old_pc:
if jit.we_are_jitted():
@@ -236,11 +237,14 @@
pc=pc, self=self, method=method,
s_context=s_context)
old_pc = pc
+
+ # STM-ONLY JITDRIVER!
self.jit_driver.jit_merge_point(
pc=pc, self=self, method=method,
s_context=s_context)
+ if rstm.should_break_transaction(False):
+ rstm.jit_stm_transaction_break_point()
try:
- rstm.jit_stm_transaction_break_point(False)
self.step(s_context)
except Return, nlr:
More information about the pypy-commit
mailing list