Skip to content

Commit f0702c5

Browse files
committed
ZJIT: Also count fallback sends to ISEQs we can't direct send to
Make sure these parameter types are counted in the fallback def_types.
1 parent e40cd39 commit f0702c5

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

zjit/src/hir.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1864,6 +1864,9 @@ impl Function {
18641864
// TODO(max): Handle other kinds of parameter passing
18651865
let iseq = unsafe { get_def_iseq_ptr((*cme).def) };
18661866
if !can_direct_send(iseq) {
1867+
if let Insn::SendWithoutBlock { def_type: insn_def_type, .. } = &mut self.insns[insn_id.0] {
1868+
*insn_def_type = Some(MethodType::from(def_type));
1869+
}
18671870
self.push_insn_id(block, insn_id); continue;
18681871
}
18691872
self.push_insn(block, Insn::PatchPoint { invariant: Invariant::MethodRedefined { klass, method: mid, cme }, state });

0 commit comments

Comments
 (0)