• stanisc's avatar
    Remove padding in v8::internal::compiler::Constant class. · 9ede481a
    stanisc authored
    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}
    9ede481a
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...