[前][次][番号順一覧][スレッド一覧]

ruby-changes:34717

From: normal <ko1@a...>
Date: Sun, 13 Jul 2014 16:47:03 +0900 (JST)
Subject: [ruby-changes:34717] normal:r46800 (trunk): vm_core.h (struct rb_call_info_struct): improve packing

normal	2014-07-13 16:46:46 +0900 (Sun, 13 Jul 2014)

  New Revision: 46800

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=46800

  Log:
    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"

  Modified files:
    trunk/ChangeLog
    trunk/vm_core.h
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 46799)
+++ ChangeLog	(revision 46800)
@@ -1,3 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Sun Jul 13 16:44:56 2014  Eric Wong  <e@8...>
+
+	* vm_core.h (struct rb_call_info_struct): improve packing
+
 Sun Jul 13 15:53:25 2014  Eric Wong  <e@8...>
 
 	* vm_core.h (struct rb_iseq_struct): stack_max is uint32_t
Index: vm_core.h
===================================================================
--- vm_core.h	(revision 46799)
+++ vm_core.h	(revision 46800)
@@ -141,8 +141,10 @@ typedef struct rb_call_info_struct { https://github.com/ruby/ruby/blob/trunk/vm_core.h#L141
     /* 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 { https://github.com/ruby/ruby/blob/trunk/vm_core.h#L156
     VALUE defined_class;
 
     /* temporary values for method calling */
-    int argc;
     struct rb_block_struct *blockptr;
     VALUE recv;
     union {

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]