Author: Armin Rigo <[email protected]>
Branch: stmgc-c8-gil-like
Changeset: r78053:b64a78fbfd32
Date: 2015-06-12 19:12 +0200
http://bitbucket.org/pypy/pypy/changeset/b64a78fbfd32/

Log:    Fix tests

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
@@ -205,20 +205,21 @@
     return '%s = stm_should_break_transaction();' % (result,)
 
 def stm_set_transaction_length(funcgen, op):
-    arg0 = funcgen.expr(op.args[0])
-    return 'stm_fill_mark_nursery_bytes = %s;' % (arg0,)
+    arg0 = funcgen.expr(op.args[0])     # 'double': fraction
+    return 'pypy_stm_set_transaction_length(%s);' % (arg0,)
 
 def stm_transaction_break(funcgen, op):
     return 'stm_force_transaction_break(&stm_thread_local);'
 
 def stm_increment_atomic(funcgen, op):
-    XXX
+    return r'fprintf(stderr, "stm_increment_atomic: reimplement\n"); abort();'
 
 def stm_decrement_atomic(funcgen, op):
-    XXX
+    return r'fprintf(stderr, "stm_decrement_atomic: reimplement\n"); abort();'
 
 def stm_get_atomic(funcgen, op):
-    XXX
+    result = funcgen.expr(op.result)
+    return '%s = 0;  // XXX stm_get_atomic' % (result,)
 
 def stm_is_inevitable(funcgen, op):
     result = funcgen.expr(op.result)
diff --git a/rpython/translator/stm/src_stm/stmgcintf.c 
b/rpython/translator/stm/src_stm/stmgcintf.c
--- a/rpython/translator/stm/src_stm/stmgcintf.c
+++ b/rpython/translator/stm/src_stm/stmgcintf.c
@@ -64,6 +64,11 @@
     stm_rewind_jmp_leaveframe(&stm_thread_local, &rjbuf);
 }
 
+void pypy_stm_set_transaction_length(double fraction)
+{
+    stm_fill_mark_nursery_bytes = (uintptr_t)(NURSERY_SIZE * fraction / 4);
+}
+
 void pypy_stm_teardown(void)
 {
     pypy_stm_unregister_thread_local();
diff --git a/rpython/translator/stm/test/test_ztranslated.py 
b/rpython/translator/stm/test/test_ztranslated.py
--- a/rpython/translator/stm/test/test_ztranslated.py
+++ b/rpython/translator/stm/test/test_ztranslated.py
@@ -385,8 +385,7 @@
         def main(argv):
             lst[42] = 43
             lst2[999] = lst
-            llop.stm_commit_if_not_atomic(lltype.Void)
-            llop.stm_start_if_not_atomic(lltype.Void)
+            llop.stm_transaction_break(lltype.Void)
             print 'did not crash', lst2[999][42]
             return 0
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to