Skip to content

Commit d05e9d7

Browse files
committed
ZJIT: Simplify usage of prepare_direct_send_args
1 parent 8e0496f commit d05e9d7

File tree

1 file changed

+9
-18
lines changed

1 file changed

+9
-18
lines changed

zjit/src/hir.rs

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2995,12 +2995,9 @@ impl Function {
29952995
recv = self.push_insn(block, Insn::GuardType { val: recv, guard_type: Type::from_profiled_type(profiled_type), state });
29962996
}
29972997

2998-
let (send_state, processed_args, kw_bits) = match self.prepare_direct_send_args(block, &args, ci, iseq, state) {
2999-
Ok(result) => result,
3000-
Err(reason) => {
3001-
self.set_dynamic_send_reason(insn_id, reason);
3002-
self.push_insn_id(block, insn_id); continue;
3003-
}
2998+
let Ok((send_state, processed_args, kw_bits)) = self.prepare_direct_send_args(block, &args, ci, iseq, state)
2999+
.inspect_err(|&reason| self.set_dynamic_send_reason(insn_id, reason)) else {
3000+
self.push_insn_id(block, insn_id); continue;
30043001
};
30053002

30063003
let send_direct = self.push_insn(block, Insn::SendWithoutBlockDirect { recv, cd, cme, iseq, args: processed_args, kw_bits, state: send_state });
@@ -3041,12 +3038,9 @@ impl Function {
30413038
recv = self.push_insn(block, Insn::GuardType { val: recv, guard_type: Type::from_profiled_type(profiled_type), state });
30423039
}
30433040

3044-
let (send_state, processed_args, kw_bits) = match self.prepare_direct_send_args(block, &args, ci, iseq, state) {
3045-
Ok(result) => result,
3046-
Err(reason) => {
3047-
self.set_dynamic_send_reason(insn_id, reason);
3048-
self.push_insn_id(block, insn_id); continue;
3049-
}
3041+
let Ok((send_state, processed_args, kw_bits)) = self.prepare_direct_send_args(block, &args, ci, iseq, state)
3042+
.inspect_err(|&reason| self.set_dynamic_send_reason(insn_id, reason)) else {
3043+
self.push_insn_id(block, insn_id); continue;
30503044
};
30513045

30523046
let send_direct = self.push_insn(block, Insn::SendWithoutBlockDirect { recv, cd, cme, iseq, args: processed_args, kw_bits, state: send_state });
@@ -3430,12 +3424,9 @@ impl Function {
34303424
state
34313425
});
34323426

3433-
let (send_state, processed_args, kw_bits) = match self.prepare_direct_send_args(block, &args, ci, super_iseq, state) {
3434-
Ok(result) => result,
3435-
Err(reason) => {
3436-
self.set_dynamic_send_reason(insn_id, reason);
3437-
self.push_insn_id(block, insn_id); continue;
3438-
}
3427+
let Ok((send_state, processed_args, kw_bits)) = self.prepare_direct_send_args(block, &args, ci, super_iseq, state)
3428+
.inspect_err(|&reason| self.set_dynamic_send_reason(insn_id, reason)) else {
3429+
self.push_insn_id(block, insn_id); continue;
34393430
};
34403431

34413432
// Use SendWithoutBlockDirect with the super method's CME and ISEQ.

0 commit comments

Comments
 (0)