• Leszek Swirski's avatar
    [serializer] Clean-up and de-macro ReadDataCase · c06d24b9
    Leszek Swirski authored
    Refactors weak prefix handling, in particular the post-hoc weak prefix
    read and HeapObjectReference creation, to a few function calls. This
    simplifies ReadDataCase sufficiently that it can be inlined into
    ReadData, which removes the need for a) having two places where we
    branch on the bytecode value (ReadData and ReadDataCase), and b)
    removes the need for the macro helper which calls ReadData. With a
    bit of refactoring we can therefore make the big switch much more
    explicit.
    
    This patch also moves that switch into a per-bytecode helper, so that
    switch entries can return the updated slot, rather than remembering to
    update in-place and continue looping.
    
    It also moves the weak prefix handling from the deserializer allocator
    to the deserializer itself, as weak prefixes don't have anything to do
    with allocation.
    
    Change-Id: I84fbda021cb65d5bfb91fc3ef27f72823acee05a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2395557
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69800}
    c06d24b9
Name
Last commit
Last update
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni 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...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython 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...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS 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...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...