From c7fbc29605799818d9afc9f3deec7512ed2b6348 Mon Sep 17 00:00:00 2001 From: normal Date: Sun, 13 Jul 2014 07:46:46 +0000 Subject: vm_core.h (struct rb_call_info_struct): improve packing * vm_core.h (struct rb_call_info_struct): improve packing On x86-64, it goes from 112 to 104 bytes. This results in ~20K of savings from just "./ruby -e exit" git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ vm_core.h | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 788724739c..59058d5e1c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Jul 13 16:44:56 2014 Eric Wong + + * vm_core.h (struct rb_call_info_struct): improve packing + Sun Jul 13 15:53:25 2014 Eric Wong * vm_core.h (struct rb_iseq_struct): stack_max is uint32_t diff --git a/vm_core.h b/vm_core.h index c71b83c70d..8a8ceeb981 100644 --- a/vm_core.h +++ b/vm_core.h @@ -141,8 +141,10 @@ typedef struct rb_call_info_struct { /* fixed at compile time */ ID mid; VALUE flag; - int orig_argc; rb_iseq_t *blockiseq; + int orig_argc; + + int argc; /* temporary for method calling */ /* inline cache: keys */ rb_serial_t method_state; @@ -154,7 +156,6 @@ typedef struct rb_call_info_struct { VALUE defined_class; /* temporary values for method calling */ - int argc; struct rb_block_struct *blockptr; VALUE recv; union { -- cgit v1.2.3