summaryrefslogtreecommitdiff
path: root/eval_intern.h
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-09 13:21:05 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-08-10 19:08:38 +0900
commit28d03ee776af4d630556fcaad7305340cbcf9cde (patch)
tree8093f7b99c13c41ce6e811c33676eea7c2c78a60 /eval_intern.h
parent42b6dc84d3e0abb19432a1cf24f327b37b176fa8 (diff)
Remove root_jmpbuf in rb_thread_struct
It has not been used since 1b82c877dfa72e8505ded149fd0e3ba956529d3f.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4725
Diffstat (limited to 'eval_intern.h')
-rw-r--r--eval_intern.h32
1 files changed, 2 insertions, 30 deletions
diff --git a/eval_intern.h b/eval_intern.h
index d3a0d58195..58400b5f25 100644
--- a/eval_intern.h
+++ b/eval_intern.h
@@ -91,40 +91,12 @@ extern int select_large_fdset(int, fd_set *, fd_set *, fd_set *, struct timeval
#include <sys/stat.h>
-#ifdef _MSC_VER
-#define SAVE_ROOT_JMPBUF_BEFORE_STMT \
- __try {
-#define SAVE_ROOT_JMPBUF_AFTER_STMT \
- } \
- __except (GetExceptionCode() == EXCEPTION_STACK_OVERFLOW ? \
- (rb_ec_raised_set(GET_EC(), RAISED_STACKOVERFLOW), \
- raise(SIGSEGV), \
- EXCEPTION_EXECUTE_HANDLER) : \
- EXCEPTION_CONTINUE_SEARCH) { \
- /* never reaches here */ \
- }
-#elif defined(__MINGW32__)
-LONG WINAPI rb_w32_stack_overflow_handler(struct _EXCEPTION_POINTERS *);
-#define SAVE_ROOT_JMPBUF_BEFORE_STMT \
- do { \
- PVOID _handler = AddVectoredExceptionHandler(1, rb_w32_stack_overflow_handler);
-
-#define SAVE_ROOT_JMPBUF_AFTER_STMT \
- RemoveVectoredExceptionHandler(_handler); \
- } while (0);
-#else
-#define SAVE_ROOT_JMPBUF_BEFORE_STMT
-#define SAVE_ROOT_JMPBUF_AFTER_STMT
-#endif
#define SAVE_ROOT_JMPBUF(th, stmt) do \
- if (ruby_setjmp((th)->root_jmpbuf) == 0) { \
- SAVE_ROOT_JMPBUF_BEFORE_STMT \
+ if (true) { \
stmt; \
- SAVE_ROOT_JMPBUF_AFTER_STMT \
} \
- else { \
- rb_fiber_start(th->ec->fiber_ptr); \
+ else if (th) { /* suppress unused-variable warning */ \
} while (0)
#define EC_PUSH_TAG(ec) do { \