summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-13 07:46:46 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-13 07:46:46 +0000
commitc7fbc29605799818d9afc9f3deec7512ed2b6348 (patch)
tree09fc6a132396f6e966151fd7d4d117efa2de8fba /vm_core.h
parentf0a698300a7d390b07121959b3ebb266818a94ec (diff)
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
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h5
1 files changed, 3 insertions, 2 deletions
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 {