summaryrefslogtreecommitdiff
path: root/vm_args.c
diff options
context:
space:
mode:
authorAaron Patterson <[email protected]>2024-06-03 15:48:13 -0700
committerAaron Patterson <[email protected]>2024-06-18 09:28:25 -0700
commita661c82972d1b4e3fc26662639b3a55c673ecb5e (patch)
tree3deed6748fe8f4e6e0409537085d28bd10e5d182 /vm_args.c
parentcc97a270080d2c6eb9dbdd2b9793ab549b6bb44d (diff)
Refactor so we don't have _cd
This should make the diff more clean
Diffstat (limited to 'vm_args.c')
-rw-r--r--vm_args.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/vm_args.c b/vm_args.c
index 4d35b00e4a..3428e1530e 100644
--- a/vm_args.c
+++ b/vm_args.c
@@ -1062,10 +1062,10 @@ static void vm_adjust_stack_forwarding(const struct rb_execution_context_struct
static VALUE
vm_caller_setup_fwd_args(const rb_execution_context_t *ec, rb_control_frame_t *reg_cfp,
- CALL_DATA *cd, const rb_iseq_t *blockiseq, const int is_super,
+ CALL_DATA cd, const rb_iseq_t *blockiseq, const int is_super,
struct rb_forwarding_call_data *adjusted_cd, struct rb_callinfo *adjusted_ci)
{
- CALL_INFO site_ci = (*cd)->ci;
+ CALL_INFO site_ci = cd->ci;
VALUE bh = Qundef;
RUBY_ASSERT(ISEQ_BODY(ISEQ_BODY(GET_ISEQ())->local_iseq)->param.flags.forwardable);
@@ -1098,17 +1098,8 @@ vm_caller_setup_fwd_args(const rb_execution_context_t *ec, rb_control_frame_t *r
);
adjusted_cd->cd.ci = adjusted_ci;
- adjusted_cd->cd.cc = (*cd)->cc;
+ adjusted_cd->cd.cc = cd->cc;
adjusted_cd->caller_ci = caller_ci;
- *cd = &adjusted_cd->cd;
-
return bh;
}
-
-static VALUE
-vm_caller_setup_args(const rb_execution_context_t *ec, rb_control_frame_t *reg_cfp,
- CALL_DATA *cd, const rb_iseq_t *blockiseq, const int is_super)
-{
- return vm_caller_setup_arg_block(ec, GET_CFP(), (*cd)->ci, blockiseq, is_super);
-}