Project

General

Profile

Bug #17648 ยป ruby-longjmp_wrapper_for_builtin.patch

xtkoba (Tee KOBAYASHI), 02/20/2021 05:02 PM

View differences:

eval_intern.h
return state;
}
#ifndef RUBY_JMP_BUF
NOINLINE(NORETURN(static void ruby_longjmp_wrapper_for_builtin(rb_jmpbuf_t env)));
static void
ruby_longjmp_wrapper_for_builtin(rb_jmpbuf_t env)
{
ruby_longjmp(env, 1);
}
#endif
NORETURN(static inline void rb_ec_tag_jump(const rb_execution_context_t *ec, enum ruby_tag_type st));
static inline void
rb_ec_tag_jump(const rb_execution_context_t *ec, enum ruby_tag_type st)
{
ec->tag->state = st;
#ifdef RUBY_JMP_BUF
ruby_longjmp(ec->tag->buf, 1);
#else
ruby_longjmp_wrapper_for_builtin(ec->tag->buf);
#endif
}
/*
    (1-1/1)