diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2023-08-16 20:28:33 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-16 20:28:33 -0700 |
commit | e210b899dc803607bef1b395ace02dc9f96554ea (patch) | |
tree | b0894c7fdeda458d06eb69fef9593edb360de1b7 /vm_insnhelper.h | |
parent | 5bb946228550c7f171c27725860b153a675404f3 (diff) |
Move the PC regardless of the leaf flag (#8232)
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
Notes
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
Diffstat (limited to 'vm_insnhelper.h')
-rw-r--r-- | vm_insnhelper.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/vm_insnhelper.h b/vm_insnhelper.h index 66895cd142..90372853dd 100644 --- a/vm_insnhelper.h +++ b/vm_insnhelper.h @@ -181,10 +181,8 @@ CC_SET_FASTPATH(const struct rb_callcache *cc, vm_call_handler func, bool enable /**********************************************************/ #define CALL_SIMPLE_METHOD() do { \ - rb_snum_t x = leaf ? INSN_ATTR(width) : 0; \ - rb_snum_t y = attr_width_opt_send_without_block(0); \ - rb_snum_t z = x - y; \ - ADD_PC(z); \ + rb_snum_t insn_width = attr_width_opt_send_without_block(0); \ + ADD_PC(-insn_width); \ DISPATCH_ORIGINAL_INSN(opt_send_without_block); \ } while (0) |