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 + + * 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 * 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; };