diff options
author | Fangrui Song <i@maskray.me> | 2019-09-19 00:04:29 -0700 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-09-21 13:24:58 +0900 |
commit | e006b992c29decb01865b0749e35a4cfc872bdaf (patch) | |
tree | e17f2049abd0a273ea9dc6980b9968f86bbda42e /vm_core.h | |
parent | 27144de2bd95c5886c3d4400c3b8aea932b856f1 (diff) | |
download | ruby-e006b992c29decb01865b0749e35a4cfc872bdaf.tar.gz |
typedef rb_jmpbuf_t to void *[5] if __builtin_setjmp is used
The built-in version operates on a buffer of 5 words, much smaller than
the size of jmp_buf defined in libc.
Note, powerpc requires 5 words, while arm and x86_64 just require 3.
Diffstat (limited to 'vm_core.h')
-rw-r--r-- | vm_core.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -775,7 +775,11 @@ enum rb_thread_status { THREAD_KILLED }; +#ifdef RUBY_JMP_BUF typedef RUBY_JMP_BUF rb_jmpbuf_t; +#else +typedef void *rb_jmpbuf_t[5]; +#endif /* the members which are written in EC_PUSH_TAG() should be placed at |