• Camillo Bruni's avatar
    [web-snapshots] Add runtime function for WebSnapshot creation Part I · a7a996ab
    Camillo Bruni authored
    This CL prepares WebSnapshot for skipping and re-injecting external
    references in the web snapshot. External references are encoded as
    separate object type and allows us to create partial snapshots at
    runtime and reconnect a deserialised snapshot to an existing
    object graph.
    
    Part II will also collect all objects which cannot be serialized by the
    web-snapshot serializer.
    
    Usage:
      snapshot = %WebSnapshotSerialize(root, skip_externals);
      object = %eWebSnapshotDeserializ(snapshot, replaced_externals);
    
    Drive-by-changes:
    - Reduce JSObject Map size in serializer (we ended up with 4 embedder
      fields)
    - Avoid adding non-HeapObject to the discovery_queue_
    - Split off ReadXXX handlers into separate functions
    
    Bug: v8:11525
    Change-Id: Ia6a9914259614c6c288667621b38daa0202d4d72
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3461936Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
    Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#79211}
    a7a996ab
Name
Last commit
Last update
.github Loading commit data...
bazel Loading commit data...
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...
.bazelrc 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...
.mailmap Loading commit data...
.style.yapf Loading commit data...
.vpython Loading commit data...
.vpython3 Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.bazel Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
DIR_METADATA 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...
LOONG_OWNERS 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...
RISCV_OWNERS Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
WORKSPACE Loading commit data...
codereview.settings Loading commit data...