• Clemens Hammacher's avatar
    [wasm] Register and release protected instructions only once · fffa3317
    Clemens Hammacher authored
    We currently have a system where the protected instructions are
    unregistered when the last instance dies, and registered again on the
    next instantiation. This is triggered by {WasmCompiledModule::Reset}.
    Since the reference to the {NativeModule} will move to the
    {WasmModuleObject}, and this object stays alive even if the last
    instance dies, this will become hard to maintain.
    It will also make it harder to share wasm code across isolates.
    This CL refactors this to register trap handler data once when the code
    is added to the {NativeModule}, and releases it if the code dies.
    
    R=mstarzinger@chromium.org
    CC=​eholk@chromium.org
    
    Bug: v8:5277
    Change-Id: I3f1b336095230b255f3849c271b37b62f2b96cd6
    Reviewed-on: https://chromium-review.googlesource.com/1103567
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53791}
    fffa3317
module-compiler.cc 149 KB