aboutsummaryrefslogtreecommitdiffstats
path: root/mjit_worker.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_worker.c
parent033e76e7602d06e037e1d9bb8527280a58d548da (diff)
downloadruby-3208a5df2dfb429752a130a36274464e9924cf44.tar.gz
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>
Diffstat (limited to 'mjit_worker.c')
-rw-r--r--mjit_worker.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mjit_worker.c b/mjit_worker.c
index 2e87b1c97c..bfcf8c0f69 100644
--- a/mjit_worker.c
+++ b/mjit_worker.c
@@ -735,7 +735,7 @@ set_compiling_iseqs(const rb_iseq_t *iseq)
unsigned int pos = 0;
while (pos < iseq->body->iseq_size) {
int insn = rb_vm_insn_decode(iseq->body->iseq_encoded[pos]);
- if (insn == BIN(opt_send_without_block)) {
+ if (insn == BIN(opt_send_without_block) || insn == BIN(opt_size)) {
CALL_DATA cd = (CALL_DATA)iseq->body->iseq_encoded[pos + 1];
extern const rb_iseq_t *rb_mjit_inlinable_iseq(const struct rb_callinfo *ci, const struct rb_callcache *cc);
const rb_iseq_t *iseq = rb_mjit_inlinable_iseq(cd->ci, cd->cc);