• 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
..
embedded Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
code-serializer.cc Loading commit data...
code-serializer.h Loading commit data...
context-deserializer.cc Loading commit data...
context-deserializer.h Loading commit data...
context-serializer.cc Loading commit data...
context-serializer.h Loading commit data...
deserializer.cc Loading commit data...
deserializer.h Loading commit data...
mksnapshot.cc Loading commit data...
object-deserializer.cc Loading commit data...
object-deserializer.h Loading commit data...
read-only-deserializer.cc Loading commit data...
read-only-deserializer.h Loading commit data...
read-only-serializer.cc Loading commit data...
read-only-serializer.h Loading commit data...
references.h Loading commit data...
roots-serializer.cc Loading commit data...
roots-serializer.h Loading commit data...
serializer-deserializer.cc Loading commit data...
serializer-deserializer.h Loading commit data...
serializer-inl.h Loading commit data...
serializer.cc Loading commit data...
serializer.h Loading commit data...
shared-heap-deserializer.cc Loading commit data...
shared-heap-deserializer.h Loading commit data...
shared-heap-serializer.cc Loading commit data...
shared-heap-serializer.h Loading commit data...
snapshot-compression.cc Loading commit data...
snapshot-compression.h Loading commit data...
snapshot-data.cc Loading commit data...
snapshot-data.h Loading commit data...
snapshot-empty.cc Loading commit data...
snapshot-external.cc Loading commit data...
snapshot-source-sink.cc Loading commit data...
snapshot-source-sink.h Loading commit data...
snapshot-utils.cc Loading commit data...
snapshot-utils.h Loading commit data...
snapshot.cc Loading commit data...
snapshot.h Loading commit data...
startup-deserializer.cc Loading commit data...
startup-deserializer.h Loading commit data...
startup-serializer.cc Loading commit data...
startup-serializer.h Loading commit data...