summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-20 05:34:32 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-20 05:34:32 +0000
commit44c32c22b89171a32766a146b30e42bd96d70ab3 (patch)
tree60455521f043577b2dd16c0fd77af371d8058998
parent0a2c4b4c2a51044743e26daf1984558d34f9b78a (diff)
rb_proc_t: reduce to 64 bytes from 72 on 64-bit
* vm_core.h (rb_proc_t): reduce to 64 bytes from 72 on 64-bit This allows rb_proc_t to fit inside a single cache line on x86-64 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--vm_core.h6
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index cb258298e1..7b1cf89f48 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sun Jul 20 14:26:27 2014 Eric Wong <e@80x24.org>
+
+ * vm_core.h (rb_proc_t): reduce to 64 bytes from 72 on 64-bit
+
Sun Jul 20 13:50:34 2014 Eric Wong <e@80x24.org>
* transcode.c (rb_econv_t): reduce to 184 bytes from 200 on 64-bit
diff --git a/vm_core.h b/vm_core.h
index ff54c2928d..a42c8b7170 100644
--- a/vm_core.h
+++ b/vm_core.h
@@ -738,9 +738,9 @@ typedef struct {
VALUE envval; /* for GC mark */
VALUE blockprocval;
- int safe_level;
- int is_from_method;
- int is_lambda;
+ int8_t safe_level; /* 0..4 */
+ int8_t is_from_method; /* bool */
+ int8_t is_lambda; /* bool */
} rb_proc_t;
#define GetEnvPtr(obj, ptr) \