Author: Armin Rigo <[email protected]>
Branch: stmgc-c7
Changeset: r70277:13baeba618bc
Date: 2014-03-25 14:32 +0100
http://bitbucket.org/pypy/pypy/changeset/13baeba618bc/
Log: add the extra argument
diff --git a/rpython/translator/stm/funcgen.py
b/rpython/translator/stm/funcgen.py
--- a/rpython/translator/stm/funcgen.py
+++ b/rpython/translator/stm/funcgen.py
@@ -127,10 +127,11 @@
except IndexError:
info = "rstm.become_inevitable" # cannot insert it in 'llop'
string_literal = c_string_constant(info)
- return 'stm_become_inevitable(%s);' % (string_literal,)
+ return 'stm_become_inevitable(&stm_thread_local, %s);' % (string_literal,)
def stm_become_globally_unique_transaction(funcgen, op):
- return 'stm_become_globally_unique_transaction("for the JIT");'
+ return ('stm_become_globally_unique_transaction(&stm_thread_local,'
+ ' "for the JIT");')
def stm_push_root(funcgen, op):
arg0 = funcgen.expr(op.args[0])
@@ -276,14 +277,6 @@
## return '%s = stm_pointer_equal((gcptr)%s, (gcptr)%s);' % (
## result, args[0], args[1])
-##def stm_become_inevitable(funcgen, op):
-## try:
-## info = op.args[0].value
-## except IndexError:
-## info = "rstm.become_inevitable" # cannot insert it in 'llop'
-## string_literal = c_string_constant(info)
-## return 'stm_become_inevitable(%s);' % (string_literal,)
-
##def stm_stop_all_other_threads(funcgen, op):
## return 'stm_stop_all_other_threads();'
diff --git a/rpython/translator/stm/src_stm/stmgcintf.h
b/rpython/translator/stm/src_stm/stmgcintf.h
--- a/rpython/translator/stm/src_stm/stmgcintf.h
+++ b/rpython/translator/stm/src_stm/stmgcintf.h
@@ -23,7 +23,8 @@
stm_commit_transaction();
}
else {
- stm_become_inevitable("commit_if_not_atomic in atomic");
+ stm_become_inevitable(&stm_thread_local,
+ "commit_if_not_atomic in atomic");
}
errno = e;
}
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit