summaryrefslogtreecommitdiff
path: root/mjit_compile.c
diff options
context:
space:
mode:
authorS.H <gamelinks007@gmail.com>2021-06-05 13:57:21 +0900
committerGitHub <noreply@github.com>2021-06-04 21:57:21 -0700
commit3208a5df2dfb429752a130a36274464e9924cf44 (patch)
tree9fb96fe83aa888d54f9c57290c66c26ef4630d2e /mjit_compile.c
parent033e76e7602d06e037e1d9bb8527280a58d548da (diff)
Improve perfomance for Integer#size method [Feature #17135] (#3476)
* Improve perfomance for Integer#size method [Feature #17135] * re-run ci * Let MJIT frame skip work for Integer#size Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Notes
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
Diffstat (limited to 'mjit_compile.c')
-rw-r--r--mjit_compile.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mjit_compile.c b/mjit_compile.c
index afa5e626fa..d68d440ca3 100644
--- a/mjit_compile.c
+++ b/mjit_compile.c
@@ -515,7 +515,7 @@ precompile_inlinable_iseqs(FILE *f, const rb_iseq_t *iseq, struct compile_status
unsigned int pos = 0;
while (pos < body->iseq_size) {
int insn = rb_vm_insn_decode(body->iseq_encoded[pos]);
- if (insn == BIN(opt_send_without_block)) { // `compile_inlined_cancel_handler` supports only `opt_send_without_block`
+ if (insn == BIN(opt_send_without_block) || insn == BIN(opt_size)) { // `compile_inlined_cancel_handler` supports only `opt_send_without_block`
CALL_DATA cd = (CALL_DATA)body->iseq_encoded[pos + 1];
const struct rb_callinfo *ci = cd->ci;
const struct rb_callcache *cc = captured_cc_entries(status)[call_data_index(cd, body)]; // use copy to avoid race condition