summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vm.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/vm.c b/vm.c
index f333b51..fcb6f9a 100644
--- a/vm.c
+++ b/vm.c
@@ -1794,8 +1794,8 @@ hook_before_rewind(rb_execution_context_t *ec, const rb_control_frame_t *cfp, in
*/
static inline VALUE
-handle_exception(rb_execution_context_t *ec, enum ruby_tag_type state,
- VALUE errinfo, VALUE *initial);
+vm_exce_handle_exception(rb_execution_context_t *ec, enum ruby_tag_type state,
+ VALUE errinfo, VALUE *initial);
MJIT_FUNC_EXPORTED VALUE
vm_exec(rb_execution_context_t *ec, int mjit_enable_p)
@@ -1808,16 +1808,17 @@ vm_exec(rb_execution_context_t *ec, int mjit_enable_p)
_tag.retval = Qnil;
if ((state = EC_EXEC_TAG()) == TAG_NONE) {
- if (!mjit_enable_p || (result = mjit_exec(ec)) == Qundef)
+ if (!mjit_enable_p || (result = mjit_exec(ec)) == Qundef) {
result = vm_exec_core(ec, initial);
- goto vm_loop_start; /* fallback to the VM */
+ }
+ goto vm_loop_start; /* fallback to the VM */
}
else {
result = ec->errinfo;
- rb_ec_raised_reset(ec, RAISED_STACKOVERFLOW);
- while ((result = handle_exception(ec, state, result, &initial)) == Qundef) {
- /* caught a jump, exec the handler */
- result = vm_exec_core(ec, initial);
+ rb_ec_raised_reset(ec, RAISED_STACKOVERFLOW);
+ while ((result = vm_exce_handle_exception(ec, state, result, &initial)) == Qundef) {
+ /* caught a jump, exec the handler */
+ result = vm_exec_core(ec, initial);
vm_loop_start:
VM_ASSERT(ec->tag == &_tag);
/* when caught `throw`, `tag.state` is set. */
@@ -1830,8 +1831,8 @@ vm_exec(rb_execution_context_t *ec, int mjit_enable_p)
}
static inline VALUE
-handle_exception(rb_execution_context_t *ec, enum ruby_tag_type state,
- VALUE errinfo, VALUE *initial)
+vm_exce_handle_exception(rb_execution_context_t *ec, enum ruby_tag_type state,
+ VALUE errinfo, VALUE *initial)
{
struct vm_throw_data *err = (struct vm_throw_data *)errinfo;