[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/+/2390643Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#69760}
Showing
This diff is collapsed.
Please
register
or
sign in
to comment