Skip to content

Commit 1dddc6c

Browse files
committed
Remove no longer used union
IMEMO_NEW takes just one memo value, min/max argc are assigned directly and packed argc is not used.
1 parent 29dafa5 commit 1dddc6c

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

proc.c

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -735,11 +735,6 @@ sym_proc_new(VALUE klass, VALUE sym)
735735
struct vm_ifunc *
736736
rb_vm_ifunc_new(rb_block_call_func_t func, const void *data, int min_argc, int max_argc)
737737
{
738-
union {
739-
struct vm_ifunc_argc argc;
740-
VALUE packed;
741-
} arity;
742-
743738
if (min_argc < UNLIMITED_ARGUMENTS ||
744739
#if SIZEOF_INT * 2 > SIZEOF_VALUE
745740
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
756751
rb_raise(rb_eRangeError, "maximum argument number out of range: %d",
757752
max_argc);
758753
}
759-
arity.argc.min = min_argc;
760-
arity.argc.max = max_argc;
761754
rb_execution_context_t *ec = GET_EC();
762755

763756
struct vm_ifunc *ifunc = IMEMO_NEW(struct vm_ifunc, imemo_ifunc, (VALUE)rb_vm_svar_lep(ec, ec->cfp));
764757
ifunc->func = func;
765758
ifunc->data = data;
766-
ifunc->argc = arity.argc;
759+
ifunc->argc.min = min_argc;
760+
ifunc->argc.max = max_argc;
767761

768762
return ifunc;
769763
}

0 commit comments

Comments
 (0)