diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-08-09 13:21:05 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-08-10 19:08:38 +0900 |
commit | 28d03ee776af4d630556fcaad7305340cbcf9cde (patch) | |
tree | 8093f7b99c13c41ce6e811c33676eea7c2c78a60 /eval_intern.h | |
parent | 42b6dc84d3e0abb19432a1cf24f327b37b176fa8 (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.h | 32 |
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 { \ |