summaryrefslogtreecommitdiff
path: root/yjit/src
diff options
context:
space:
mode:
authorAaron Patterson <[email protected]>2024-06-28 15:23:14 -0400
committerAaron Patterson <[email protected]>2024-06-29 11:25:59 -0600
commita2c27bae9653a817b4e5f699f421836f8f97410b (patch)
tree440d73ec2cf6545265cde239af67ad2e66937c23 /yjit/src
parent99306471348ad3a1d41d37332dc78a1ee802d07a (diff)
[YJIT] Don't expand kwargs on forwarding
Similarly to splat arrays, we shouldn't expand splat kwargs. [ruby-core:118401]
Diffstat (limited to 'yjit/src')
-rw-r--r--yjit/src/codegen.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs
index d456803931..7e85e4015c 100644
--- a/yjit/src/codegen.rs
+++ b/yjit/src/codegen.rs
@@ -6962,7 +6962,6 @@ fn gen_send_iseq(
let iseq_has_rest = unsafe { get_iseq_flags_has_rest(iseq) };
let iseq_has_block_param = unsafe { get_iseq_flags_has_block(iseq) };
let arg_setup_block = captured_opnd.is_some(); // arg_setup_type: arg_setup_block (invokeblock)
- let kw_splat = flags & VM_CALL_KW_SPLAT != 0;
// Is this iseq tagged as "forwardable"? Iseqs that take `...` as a
// parameter are tagged as forwardable (e.g. `def foo(...); end`)
@@ -6975,6 +6974,7 @@ fn gen_send_iseq(
//
// `def foo(...); end; foo(*blah)`
let splat_call = (flags & VM_CALL_ARGS_SPLAT != 0) && !forwarding;
+ let kw_splat = (flags & VM_CALL_KW_SPLAT != 0) && !forwarding;
// For computing offsets to callee locals
let num_params = unsafe { get_iseq_body_param_size(iseq) as i32 };