• Clemens Backes's avatar
    [wasm] Ensure that only TurboFan code is serialized · 60ee70bb
    Clemens Backes authored
    We have the implicit assumption that Liftoff code will never be
    serialized, and we start relying on that when implementing new features
    (debugging, dynamic tiering).
    
    This CL makes the serializer fail if the module contains any Liftoff
    code. Existing tests are changed to ensure that we fully tiered up
    before serializing a module (similar to the logic in Chromium).
    The "wasm-clone-module" test needs to serialize the module before
    enabling the debugger.
    
    Note that chrome currently only serializes a module after it fully
    tiered up, so that should be fine. If other embedders need the ability
    to serialize a module in an arbitrary state, we will have to fix this
    later. With this CL we will be on the safe side though and (gracefully)
    fail serialization instead of accidentally serializing Liftoff code.
    
    R=ahaas@chromium.org
    
    Bug: v8:10777
    Change-Id: I1245e5f7fda3447a544c1e3525e1239cde759174
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336799
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69276}
    60ee70bb
wasm-serialization.cc 24.8 KB