[pypy-commit] pypy stmgc-c7: import stmgc/7949c54b03a5
arigo
noreply at buildbot.pypy.org
Thu Aug 21 17:25:26 CEST 2014
Author: Armin Rigo <arigo at tunes.org>
Branch: stmgc-c7
Changeset: r72948:92734c1dff54
Date: 2014-08-21 17:20 +0200
http://bitbucket.org/pypy/pypy/changeset/92734c1dff54/
Log: import stmgc/7949c54b03a5
diff --git a/rpython/translator/stm/src_stm/revision b/rpython/translator/stm/src_stm/revision
--- a/rpython/translator/stm/src_stm/revision
+++ b/rpython/translator/stm/src_stm/revision
@@ -1,1 +1,1 @@
-b067967930aa
+7949c54b03a5
diff --git a/rpython/translator/stm/src_stm/stm/rewind_setjmp.h b/rpython/translator/stm/src_stm/stm/rewind_setjmp.h
--- a/rpython/translator/stm/src_stm/stm/rewind_setjmp.h
+++ b/rpython/translator/stm/src_stm/stm/rewind_setjmp.h
@@ -75,8 +75,13 @@
/* remember the current stack and ss_stack positions */
#define rewind_jmp_enterframe(rjthread, rjbuf, ss) do { \
+ rewind_jmp_prepareframe(rjbuf); \
+ rewind_jmp_enterprepframe(rjthread, rjbuf, ss); \
+} while (0)
+#define rewind_jmp_prepareframe(rjbuf) \
+ ((rjbuf)->frame_base = __builtin_frame_address(0))
+#define rewind_jmp_enterprepframe(rjthread, rjbuf, ss) do { \
assert((((long)(ss)) & 1) == 0); \
- (rjbuf)->frame_base = __builtin_frame_address(0); \
(rjbuf)->shadowstack_base = (char *)(ss); \
(rjbuf)->prev = (rjthread)->head; \
(rjthread)->head = (rjbuf); \
diff --git a/rpython/translator/stm/src_stm/stmgc.h b/rpython/translator/stm/src_stm/stmgc.h
--- a/rpython/translator/stm/src_stm/stmgc.h
+++ b/rpython/translator/stm/src_stm/stmgc.h
@@ -329,6 +329,8 @@
/* At some key places, like the entry point of the thread and in the
function with the interpreter's dispatch loop, you need to declare
a local variable of type 'rewind_jmp_buf' and call these macros. */
+#define stm_rewind_jmp_enterprepframe(tl, rjbuf) \
+ rewind_jmp_enterprepframe(&(tl)->rjthread, rjbuf, (tl)->shadowstack)
#define stm_rewind_jmp_enterframe(tl, rjbuf) \
rewind_jmp_enterframe(&(tl)->rjthread, rjbuf, (tl)->shadowstack)
#define stm_rewind_jmp_leaveframe(tl, rjbuf) \
More information about the pypy-commit
mailing list