Bug #17648 ยป ruby-longjmp_wrapper_for_builtin.patch
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
|
||
}
|
||
/*
|