• Jakob Gruber's avatar
    [snapshot] Move builtins to dedicated snapshot area · 49e3bfd5
    Jakob Gruber authored
    As a first step towards lazy builtin deserialization, this CL moves
    builtins to their own dedicated area in the snapshot blob, physically
    located after startup data and before context-specific data.
    
    The startup- and partial serializers now serialize all seen builtins as
    references, i.e. they only encode the relevant builtin id (taking care
    to preserve special behavior around the interpreter trampoline and
    CompileLazy). Builtins are later fully serialized by the
    BuiltinSerializer. The separate blobs are finally glued together by
    CreateSnapshotBlob.
    
    Deserialization takes the same steps: when we see builtin reference
    bytecodes before builtins have been deserialized, we push to a list of
    deferred builtin references. After builtin deserialization, this list is
    iterated and all builtin references are fixed up.
    
    Bug: v8:6624
    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: Idee42fa9c92bdbe8d5b8c4b8bf3ca9dd39634004
    Reviewed-on: https://chromium-review.googlesource.com/610225Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47596}
    49e3bfd5
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...
.editorconfig 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...