From be71c95b88019a1ca7a030a757ce343b743d8aff Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Thu, 18 Nov 2021 00:43:40 +0900 Subject: `rb_method_optimized_t` for further extension Now `rb_method_optimized_t optimized` field is added to represent optimized method type. --- proc.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'proc.c') diff --git a/proc.c b/proc.c index 2e9307e53e..9c62abb0c6 100644 --- a/proc.c +++ b/proc.c @@ -2671,7 +2671,7 @@ rb_method_entry_min_max_arity(const rb_method_entry_t *me, int *max) *max = UNLIMITED_ARGUMENTS; return 0; case VM_METHOD_TYPE_OPTIMIZED: { - switch (def->body.optimize_type) { + switch (def->body.optimized.type) { case OPTIMIZED_METHOD_TYPE_SEND: *max = UNLIMITED_ARGUMENTS; return 0; @@ -4087,14 +4087,10 @@ Init_Proc(void) rb_undef_alloc_func(rb_cProc); rb_define_singleton_method(rb_cProc, "new", rb_proc_s_new, -1); - rb_add_method(rb_cProc, idCall, VM_METHOD_TYPE_OPTIMIZED, - (void *)OPTIMIZED_METHOD_TYPE_CALL, METHOD_VISI_PUBLIC); - rb_add_method(rb_cProc, rb_intern("[]"), VM_METHOD_TYPE_OPTIMIZED, - (void *)OPTIMIZED_METHOD_TYPE_CALL, METHOD_VISI_PUBLIC); - rb_add_method(rb_cProc, rb_intern("==="), VM_METHOD_TYPE_OPTIMIZED, - (void *)OPTIMIZED_METHOD_TYPE_CALL, METHOD_VISI_PUBLIC); - rb_add_method(rb_cProc, rb_intern("yield"), VM_METHOD_TYPE_OPTIMIZED, - (void *)OPTIMIZED_METHOD_TYPE_CALL, METHOD_VISI_PUBLIC); + rb_add_method_optimized(rb_cProc, idCall, OPTIMIZED_METHOD_TYPE_CALL, 0, METHOD_VISI_PUBLIC); + rb_add_method_optimized(rb_cProc, rb_intern("[]"), OPTIMIZED_METHOD_TYPE_CALL, 0, METHOD_VISI_PUBLIC); + rb_add_method_optimized(rb_cProc, rb_intern("==="), OPTIMIZED_METHOD_TYPE_CALL, 0, METHOD_VISI_PUBLIC); + rb_add_method_optimized(rb_cProc, rb_intern("yield"), OPTIMIZED_METHOD_TYPE_CALL, 0, METHOD_VISI_PUBLIC); #if 0 /* for RDoc */ rb_define_method(rb_cProc, "call", proc_call, -1); -- cgit v1.2.1