• Leszek Swirski's avatar
    Reland "[serializer] Change deferring to use forward refs" · 76d684cc
    Leszek Swirski authored
    This is a reland of 81577a79
    
    The revert was due to an missing dependency in the incremental build,
    fixed in https://crrev.com/c/2400987.
    
    Original change's description:
    > [serializer] Change deferring to use forward refs
    >
    > Now that we have forward references, we can replace the body deferring
    > mechanism with forward references to the entire pointer.
    >
    > This ensures that objects are always deserialized with their contents
    > (aside from themselves maybe holding forward refs), and as a result we
    > can simplify the CanBeDeferred conditions which encode the constraint
    > that some objects either need immediately have contents, or cannot be
    > deferred because their fields are changed temporarily (e.g. backing
    > store refs).
    >
    > This also means that objects with length fields (e.g. arrays) will
    > always have those length fields deserialized when the object is
    > deserialized, which was not the case when the body could be deferred.
    > This helps us in the plan to make GC possible during deserialization.
    >
    > Bug: v8:10815
    > Change-Id: Ib0e5399b9de6027765691e8cb47410a2ccc15485
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2390643
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#69760}
    
    Tbr: jgruber@chromium.org
    Bug: v8:10815
    Change-Id: I235076a97c5dfa58513e880cc477ac72a28b29e9
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2400992Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69779}
    76d684cc
Name
Last commit
Last update
..
embedded Loading commit data...
DEPS 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-allocator.cc Loading commit data...
deserializer-allocator.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-allocator.cc Loading commit data...
serializer-allocator.h Loading commit data...
serializer-deserializer.cc Loading commit data...
serializer-deserializer.h Loading commit data...
serializer.cc Loading commit data...
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...