• 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
read-only-serializer.cc 3.69 KB