• 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
instruction.h 55.5 KB