aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-11-23 01:49:57 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-11-23 01:49:57 +0000
commit83f0e9d6f119128f88621665e3cb3dc51590e553 (patch)
treea4359dbfe0afc5ea3e0d1cd5a79cf9ee8298c86c
parent919b1aa5e9143ab32242d0e67d7a6d23d87c78a5 (diff)
downloadruby-83f0e9d6f119128f88621665e3cb3dc51590e553.tar.gz
trivial packing of rb_execarg, load_file_arg, args_info
* internal.h (struct rb_execarg): 160 => 144 bytes on x86-64 * ruby.c (struct load_file_arg): 48 => 40 bytes on x86-64 * vm_args.c (struct args_info): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--internal.h4
-rw-r--r--ruby.c2
-rw-r--r--vm_args.c4
4 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index da5cb955ad..874c15b9f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Nov 23 10:46:23 2014 Eric Wong <e@80x24.org>
+
+ * internal.h (struct rb_execarg): 160 => 144 bytes on x86-64
+ * ruby.c (struct load_file_arg): 48 => 40 bytes on x86-64
+ * vm_args.c (struct args_info): ditto
+
Sun Nov 23 07:46:54 2014 Andy Maloney <asmaloney@gmail.com>
* io.c (rb_io_sysread): Remove redundant assignment of 'n'.
diff --git a/internal.h b/internal.h
index e7b866bdd6..af357cd9ac 100644
--- a/internal.h
+++ b/internal.h
@@ -884,7 +884,6 @@ VALUE rb_block_clear_env_self(VALUE proc);
#define RB_MAX_GROUPS (65536)
struct rb_execarg {
- int use_shell;
union {
struct {
VALUE shell_script;
@@ -900,6 +899,7 @@ struct rb_execarg {
VALUE envp_str;
VALUE envp_buf;
VALUE dup2_tmpbuf;
+ unsigned use_shell : 1;
unsigned pgroup_given : 1;
unsigned umask_given : 1;
unsigned unsetenv_others_given : 1;
@@ -916,11 +916,11 @@ struct rb_execarg {
mode_t umask_mask;
rb_uid_t uid;
rb_gid_t gid;
+ int close_others_maxhint;
VALUE fd_dup2;
VALUE fd_close;
VALUE fd_open;
VALUE fd_dup2_child;
- int close_others_maxhint;
VALUE env_modification; /* Qfalse or [[k1,v1], ...] */
VALUE chdir_dir;
};
diff --git a/ruby.c b/ruby.c
index 4a19276f50..b2f485076d 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1510,9 +1510,9 @@ struct load_file_arg {
VALUE parser;
VALUE fname;
int script;
+ int xflag;
struct cmdline_options *opt;
VALUE f;
- int xflag;
};
static VALUE
diff --git a/vm_args.c b/vm_args.c
index e4d7fedf0f..207d3ffcde 100644
--- a/vm_args.c
+++ b/vm_args.c
@@ -11,12 +11,12 @@
struct args_info {
/* basic args info */
rb_call_info_t *ci;
- int argc;
VALUE *argv;
+ int argc;
/* additional args info */
- VALUE *kw_argv;
int rest_index;
+ VALUE *kw_argv;
VALUE rest;
};