From 34f7e9086fc76be75b5f6a9553dc50e9c7ce457b Mon Sep 17 00:00:00 2001 From: normal Date: Mon, 14 Jul 2014 07:08:55 +0000 Subject: [PATCH] iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes on 64-bit * iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes on 64-bit This drops a few minor page faults on my system at startup. Using 64-bit start, end, cont, and sp fields are unnecessary as label_get_position and label_get_sp only return int values. label_get_position and label_get_sp should probably return unsigned, but that is a future change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46813 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ iseq.h | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4cb65763cf..c496b2ec00 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Jul 14 16:07:25 2014 Eric Wong + + * iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes + Mon Jul 14 16:04:41 2014 Eric Wong * iseq.h (struct iseq_catch_table): new flexible array struct diff --git a/iseq.h b/iseq.h index be7d8efd9d..4d95a7a135 100644 --- a/iseq.h +++ b/iseq.h @@ -62,10 +62,10 @@ struct iseq_catch_table_entry { CATCH_TYPE_NEXT = INT2FIX(6) } type; VALUE iseq; - unsigned long start; - unsigned long end; - unsigned long cont; - unsigned long sp; + unsigned int start; + unsigned int end; + unsigned int cont; + unsigned int sp; }; PACKED_STRUCT_UNALIGNED(struct iseq_catch_table {