Author: Armin Rigo <ar...@tunes.org>
Branch: stmgc-c7
Changeset: r72949:93fa346570f6
Date: 2014-08-21 17:24 +0200
http://bitbucket.org/pypy/pypy/changeset/93fa346570f6/

Log:    Split rewind_jmp_enterframe() into two calls

diff --git a/rpython/translator/c/funcgen.py b/rpython/translator/c/funcgen.py
--- a/rpython/translator/c/funcgen.py
+++ b/rpython/translator/c/funcgen.py
@@ -201,6 +201,8 @@
             yield 'rewind_jmp_buf rjbuf1;'
             if self.use_stm_rewind_jmp_frame == "automatic":
                 yield 'stm_rewind_jmp_enterframe(&stm_thread_local, &rjbuf1);'
+            else:
+                yield 'stm_rewind_jmp_prepareframe(&rjbuf1);'
         #
         graph = self.graph
         yield 'goto block0;'    # to avoid a warning "this label is not used"
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
@@ -96,7 +96,8 @@
         assert(pypy_transaction_length >= 0);
         int e = errno;
         pypy_stm_register_thread_local();
-        stm_rewind_jmp_enterframe(&stm_thread_local, (rewind_jmp_buf *)rjbuf);
+        stm_rewind_jmp_enterprepframe(&stm_thread_local,
+                                      (rewind_jmp_buf *)rjbuf);
         errno = e;
         pypy_stm_ready_atomic = 1;
         pypy_stm_start_if_not_atomic();
@@ -104,7 +105,8 @@
     }
     else {
         /* callback from C code, itself called from Python code */
-        stm_rewind_jmp_enterframe(&stm_thread_local, (rewind_jmp_buf *)rjbuf);
+        stm_rewind_jmp_enterprepframe(&stm_thread_local,
+                                      (rewind_jmp_buf *)rjbuf);
         pypy_stm_start_if_not_atomic();
         return 0;
     }
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to