Project

General

Profile

Bug #17511 » ruby-ec-volatile.patch

xtkoba (Tee KOBAYASHI), 02/21/2021 08:10 PM

View differences:

eval_intern.h
return state;
}
NORETURN(static inline void rb_ec_tag_jump(const rb_execution_context_t *ec, enum ruby_tag_type st));
NORETURN(static inline void rb_ec_tag_jump(const rb_execution_context_t * volatile ec, enum ruby_tag_type st));
static inline void
rb_ec_tag_jump(const rb_execution_context_t *ec, enum ruby_tag_type st)
rb_ec_tag_jump(const rb_execution_context_t * volatile ec, enum ruby_tag_type st)
{
ec->tag->state = st;
ruby_longjmp(ec->tag->buf, 1);
-- a/vm.c
++ b/vm.c
......
VALUE errinfo, VALUE *initial);
VALUE
vm_exec(rb_execution_context_t *ec, bool mjit_enable_p)
vm_exec(rb_execution_context_t * volatile ec, bool mjit_enable_p)
{
enum ruby_tag_type state;
VALUE result = Qundef;
(2-2/2)