From 46728557c16be2693c81c7c5ca51ea161ef28f65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?= Date: Mon, 1 Jun 2020 16:01:30 +0900 Subject: rb_vm_call0: on-stack call info This changeset reduces the generated binary of rb_vm_call0 from 281 bytes to 211 bytes on my machine. Should reduce GC pressure as well. --- vm_insnhelper.c | 22 ---------------------- 1 file changed, 22 deletions(-) (limited to 'vm_insnhelper.c') diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 93b97f5e9e..6d4afa2d24 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -2682,28 +2682,6 @@ aliased_callable_method_entry(const rb_callable_method_entry_t *me) return cme; } -#define VM_CI_ON_STACK(mid_, flags_, argc_, kwarg_) \ - (struct rb_callinfo) { \ - .flags = T_IMEMO | \ - (imemo_callinfo << FL_USHIFT) | \ - VM_CALLINFO_NOT_UNDER_GC, \ - .mid = mid_, \ - .flag = flags_, \ - .argc = argc_, \ - .kwarg = kwarg_, \ - } - -#define VM_CC_ON_STACK(clazz, call, aux, cme) \ - (struct rb_callcache) { \ - .flags = T_IMEMO | \ - (imemo_callcache << FL_USHIFT) | \ - VM_CALLCACHE_UNMARKABLE, \ - .klass = clazz, \ - .cme_ = cme, \ - .call_ = call, \ - .aux_ = aux, \ - } - static VALUE vm_call_alias(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, struct rb_call_data *cd) { -- cgit v1.2.3