Skip to content

Commit ead281d

Browse files
authored
Merge pull request ruby#69 from jhawthorn/fix_invokebuiltin_leaf
Fix check for leaf invokebuiltin
2 parents de10246 + a5b94bb commit ead281d

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

yjit_codegen.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2450,8 +2450,7 @@ rb_leaf_invokebuiltin_iseq_p(const rb_iseq_t *iseq)
24502450
unsigned int invokebuiltin_len = insn_len(BIN(opt_invokebuiltin_delegate_leave));
24512451
unsigned int leave_len = insn_len(BIN(leave));
24522452

2453-
return iseq->body->iseq_size == (
2454-
(invokebuiltin_len + leave_len) &&
2453+
return (iseq->body->iseq_size == (invokebuiltin_len + leave_len) &&
24552454
rb_vm_insn_addr2opcode((void *)iseq->body->iseq_encoded[0]) == BIN(opt_invokebuiltin_delegate_leave) &&
24562455
rb_vm_insn_addr2opcode((void *)iseq->body->iseq_encoded[invokebuiltin_len]) == BIN(leave) &&
24572456
iseq->body->builtin_inline_p
@@ -2536,6 +2535,8 @@ gen_send_iseq(jitstate_t *jit, ctx_t *ctx, const struct rb_callinfo *ci, const r
25362535
const struct rb_builtin_function *leaf_builtin = rb_leaf_builtin_function(iseq);
25372536

25382537
if (leaf_builtin && !block && leaf_builtin->argc + 1 <= NUM_C_ARG_REGS) {
2538+
ADD_COMMENT(cb, "inlined leaf builtin");
2539+
25392540
// TODO: figure out if this is necessary
25402541
// If the calls don't allocate, do they need up to date PC, SP?
25412542
// Save YJIT registers

0 commit comments

Comments
 (0)