summaryrefslogtreecommitdiff
path: root/proc.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <[email protected]>2025-04-02 17:32:37 +0900
committerNobuyoshi Nakada <[email protected]>2025-04-03 16:56:24 +0900
commit1dddc6c78b5f6dc6ae18ee04ebe44abfce3b0433 (patch)
tree290ab374b8dfac3ed96d0f6c46b961904ae4a262 /proc.c
parent29dafa5fc21343803127dda7d608f1f1f7908e7b (diff)
Remove no longer used union
IMEMO_NEW takes just one memo value, min/max argc are assigned directly and packed argc is not used.
Diffstat (limited to 'proc.c')
-rw-r--r--proc.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/proc.c b/proc.c
index 9c50f5baa3..445ba794e5 100644
--- a/proc.c
+++ b/proc.c
@@ -735,11 +735,6 @@ sym_proc_new(VALUE klass, VALUE sym)
struct vm_ifunc *
rb_vm_ifunc_new(rb_block_call_func_t func, const void *data, int min_argc, int max_argc)
{
- union {
- struct vm_ifunc_argc argc;
- VALUE packed;
- } arity;
-
if (min_argc < UNLIMITED_ARGUMENTS ||
#if SIZEOF_INT * 2 > SIZEOF_VALUE
min_argc >= (int)(1U << (SIZEOF_VALUE * CHAR_BIT) / 2) ||
@@ -756,14 +751,13 @@ rb_vm_ifunc_new(rb_block_call_func_t func, const void *data, int min_argc, int m
rb_raise(rb_eRangeError, "maximum argument number out of range: %d",
max_argc);
}
- arity.argc.min = min_argc;
- arity.argc.max = max_argc;
rb_execution_context_t *ec = GET_EC();
struct vm_ifunc *ifunc = IMEMO_NEW(struct vm_ifunc, imemo_ifunc, (VALUE)rb_vm_svar_lep(ec, ec->cfp));
ifunc->func = func;
ifunc->data = data;
- ifunc->argc = arity.argc;
+ ifunc->argc.min = min_argc;
+ ifunc->argc.max = max_argc;
return ifunc;
}