зеркало из https://github.com/github/ruby.git
vm_core.h: sandwich jmpbuf
* vm_core.h (rb_vm_tag): move jmpbuf which should be stored at the last in TH_PUSH_TAG, between tag and state so ensure to be accessible. reapplied r40806. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
4a4627fb0d
Коммит
f61e8084bb
|
@ -691,11 +691,16 @@ typedef RUBY_JMP_BUF rb_jmpbuf_t;
|
|||
struct rb_vm_tag {
|
||||
VALUE tag;
|
||||
VALUE retval;
|
||||
rb_jmpbuf_t buf;
|
||||
struct rb_vm_tag *prev;
|
||||
enum ruby_tag_type state;
|
||||
rb_jmpbuf_t buf;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(rb_vm_tag_buf_offset, offsetof(struct rb_vm_tag, buf) > 0);
|
||||
STATIC_ASSERT(rb_vm_tag_buf_end,
|
||||
offsetof(struct rb_vm_tag, buf) + sizeof(rb_jmpbuf_t) <
|
||||
sizeof(struct rb_vm_tag));
|
||||
|
||||
struct rb_vm_protect_tag {
|
||||
struct rb_vm_protect_tag *prev;
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче