* 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:
nobu 2017-06-23 11:15:26 +00:00
Родитель 4a4627fb0d
Коммит f61e8084bb
1 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -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;
};