From 3208a5df2dfb429752a130a36274464e9924cf44 Mon Sep 17 00:00:00 2001 From: "S.H" Date: Sat, 5 Jun 2021 13:57:21 +0900 Subject: 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 --- mjit_compile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mjit_compile.c') 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 -- cgit v1.2.3