Remove padding in v8::internal::compiler::Constant class.
This makes the size of the class smaller by 8 bytes on 64-bit. I looked at the usage pattern. Even though it seems the number of instances doesn't get higher than a few thousand, this class is still very hot because it is constructed and passed by value a lot. So perhaps reducing the size would make passing this class by value or growing arrays more optimal and might save some cycles. Before: class v8::internal::compiler::Constant [sizeof = 24] { [sizeof=4] v8::internal::compiler::Constant::Type type_ <padding> (4 bytes) [sizeof=8] __int64 value_ [sizeof=4] v8::internal::RelocInfo::Mode rmode_ <padding> (4 bytes) } After: class v8::internal::compiler::Constant [sizeof = 16] { [sizeof=4] v8::internal::compiler::Constant::Type type_ [sizeof=4] v8::internal::RelocInfo::Mode rmode_ [sizeof=8] __int64 value_ } BUG=chromium:710933 Review-Url: https://codereview.chromium.org/2841343002 Cr-Commit-Position: refs/heads/master@{#45001}
Showing
Please
register
or
sign in
to comment