aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-14 07:08:55 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-14 07:08:55 +0000
commit34f7e9086fc76be75b5f6a9553dc50e9c7ce457b (patch)
tree9719aee6704d60c6a88112f115837d457dd1decb
parentb811194e5745d448d8317cbf9938c7eff6cc996e (diff)
downloadruby-34f7e9086fc76be75b5f6a9553dc50e9c7ce457b.tar.gz
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
-rw-r--r--ChangeLog4
-rw-r--r--iseq.h8
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 <e@80x24.org>
+
+ * iseq.h (struct iseq_catch_table_entry): shrink to 32 bytes
+
Mon Jul 14 16:04:41 2014 Eric Wong <e@80x24.org>
* 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 {