Author: Armin Rigo <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit