• Jakob Gruber's avatar
    Reland "[snapshot] Expose the serializer through %SerializeDeserializeNow" · bce121c7
    Jakob Gruber authored
    This is a reland of ad5b005e
    
    Original change's description:
    > [snapshot] Expose the serializer through %SerializeDeserializeNow
    >
    > ... in order to exercise the snapshot/ component from mjsunit tests
    > and fuzzers.
    >
    > * Since the serializer and deserializer can now be called at any time
    > instead of only in a tightly controlled environment, several
    > assumptions (such as an empty execution stack, no microtasks, no
    > handles) no longer hold and had to be made configurable through
    > SerializerFlags.
    >
    > * Root iteration now skips more root categories which were previously
    > guaranteed to be empty (e.g. the stack, microtask queue, handles).
    >
    > * The %SerializeDeserializeNow runtime function triggers
    > serialization, deserialization, and heap verification on the current
    > isolate and native context.
    >
    > Support is not yet complete and will be extended in future work. Once
    > all mjsunit tests successfully run, we can add a new test mode to
    > stress serialization.
    >
    > Bug: v8:10416
    > Change-Id: Ie7ff441a761257dd7f256d0a33e73227850074ac
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2159495
    > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    > Reviewed-by: Dan Elphick <delphick@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#67423}
    
    Tbr: delphick@chromium.org,ulan@chromium.org
    Bug: v8:10416
    Change-Id: Ibed04c0f0b72fabcf811d8b18a1479391a11568b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2170090Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67426}
    bce121c7
serialize-deserialize-now.js 448 Bytes