From 4d10c2b91d408ac3a8cc6b1d5da2103a0c527d47 Mon Sep 17 00:00:00 2001 From: normal Date: Mon, 22 Sep 2014 00:46:25 +0000 Subject: ext/socket/*.c: trivial struct packing for 64-bit * ext/socket/ancdata.c ({send,recv}msg_args_struct): 24 => 16 bytes * ext/socket/init.c (connect_arg): ditto * ext/socket/raddrinfo.c (getnameinfo_arg): 56 => 48 bytes Other big stack reductions are less trivial. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ ext/socket/ancdata.c | 4 ++-- ext/socket/init.c | 2 +- ext/socket/raddrinfo.c | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index cf44890b46..bf48bea846 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Sep 22 09:28:43 2014 Eric Wong + + * ext/socket/ancdata.c ({send,recv}msg_args_struct): 24 => 16 bytes + * ext/socket/init.c (connect_arg): ditto + * ext/socket/raddrinfo.c (getnameinfo_arg): 56 => 48 bytes + (reductions only for 64-bit systems) + Mon Sep 22 02:04:25 2014 Tanaka Akira * lib/drb/drb.rb: Support graceful shutdown. diff --git a/ext/socket/ancdata.c b/ext/socket/ancdata.c index 218085d5ce..f0dbb2bfeb 100644 --- a/ext/socket/ancdata.c +++ b/ext/socket/ancdata.c @@ -1105,8 +1105,8 @@ ancillary_cmsg_is_p(VALUE self, VALUE vlevel, VALUE vtype) #if defined(HAVE_SENDMSG) struct sendmsg_args_struct { int fd; - const struct msghdr *msg; int flags; + const struct msghdr *msg; }; static void * @@ -1358,8 +1358,8 @@ rsock_bsock_sendmsg_nonblock(int argc, VALUE *argv, VALUE sock) #if defined(HAVE_RECVMSG) struct recvmsg_args_struct { int fd; - struct msghdr *msg; int flags; + struct msghdr *msg; }; ssize_t diff --git a/ext/socket/init.c b/ext/socket/init.c index 670349ae14..bcc1e52d50 100644 --- a/ext/socket/init.c +++ b/ext/socket/init.c @@ -400,8 +400,8 @@ wait_connectable(int fd) struct connect_arg { int fd; - const struct sockaddr *sockaddr; socklen_t len; + const struct sockaddr *sockaddr; }; static VALUE diff --git a/ext/socket/raddrinfo.c b/ext/socket/raddrinfo.c index ceed9c3ac1..8e6434717a 100644 --- a/ext/socket/raddrinfo.c +++ b/ext/socket/raddrinfo.c @@ -312,11 +312,11 @@ struct getnameinfo_arg { const struct sockaddr *sa; socklen_t salen; + int flags; char *host; size_t hostlen; char *serv; size_t servlen; - int flags; }; static void * -- cgit v1.2.3