summaryrefslogtreecommitdiff
path: root/vm_insnhelper.h
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-08-16 20:28:33 -0700
committerGitHub <noreply@github.com>2023-08-16 20:28:33 -0700
commite210b899dc803607bef1b395ace02dc9f96554ea (patch)
treeb0894c7fdeda458d06eb69fef9593edb360de1b7 /vm_insnhelper.h
parent5bb946228550c7f171c27725860b153a675404f3 (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.h6
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)