[pypy-commit] pypy stm: Yay, the first example of RPython program that runs successfully
arigo
noreply at buildbot.pypy.org
Thu Nov 3 11:30:49 CET 2011
Author: Armin Rigo <arigo at tunes.org>
Branch: stm
Changeset: r48689:0524190818dc
Date: 2011-11-03 11:30 +0100
http://bitbucket.org/pypy/pypy/changeset/0524190818dc/
Log: Yay, the first example of RPython program that runs successfully on
multiple threads.
diff --git a/pypy/translator/stm/test/targetdemo.py b/pypy/translator/stm/test/targetdemo.py
--- a/pypy/translator/stm/test/targetdemo.py
+++ b/pypy/translator/stm/test/targetdemo.py
@@ -4,7 +4,7 @@
NUM_THREADS = 4
-LENGTH = 10000
+LENGTH = 5000
class Node:
diff --git a/pypy/translator/stm/transform.py b/pypy/translator/stm/transform.py
--- a/pypy/translator/stm/transform.py
+++ b/pypy/translator/stm/transform.py
@@ -3,23 +3,17 @@
from pypy.annotation import model as annmodel
from pypy.translator.stm import _rffi_stm
from pypy.translator.unsimplify import varoftype, copyvar
-from pypy.rpython.lltypesystem import lltype
+from pypy.rpython.lltypesystem import lltype, lloperation
ALWAYS_ALLOW_OPERATIONS = set([
- 'int_*', 'uint_*', 'llong_*', 'ullong_*', 'float_*',
- 'same_as', 'cast_*',
'direct_call',
'debug_print', 'debug_assert',
])
+ALWAYS_ALLOW_OPERATIONS |= set(lloperation.enum_foldable_ops())
def op_in_set(opname, set):
- if opname in set:
- return True
- for i in range(len(opname)-1, -1, -1):
- if (opname[:i] + '*') in set:
- return True
- return False
+ return opname in set
# ____________________________________________________________
More information about the pypy-commit
mailing list