• yangguo's avatar
    Serializer: support all alignment kinds. · 63f4c751
    yangguo authored
    We use an alignment prefix for unusual alignment kinds (not kWordAligned).
    This will cause new objects to be aligned in ReadObject, and back references
    to be aligned to skip padding.
    
    The motivation to change the undefined next sentinel in WeakCell is this:
    When the deserializer aligns an object, it requires filler maps to already
    exist to create filler objects as padding. However, deserializing the
    filler map leads to deserializing NaN, which as heap number is aligned:
    filler map > meta map > weak cell cache > undefined > NaN
    If we use the-hole instead of undefined as sentinel, it works.
    
    R=jochen@chromium.org,bbudge@chromium.org
    BUG=v8:4178
    LOG=N
    
    Committed: https://crrev.com/2146ab75387d47eef6582bd8c2d0cfc6c42b68b6
    Cr-Commit-Position: refs/heads/master@{#29044}
    
    Review URL: https://codereview.chromium.org/1179873003
    
    Cr-Commit-Position: refs/heads/master@{#29047}
    63f4c751
Name
Last commit
Last update
benchmarks Loading commit data...
build 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/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE 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...
Makefile.nacl 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...