• Clemens Hammacher's avatar
    [wasm] Keep NativeModule alive in BackgroundCompileScope · 3df442d7
    Clemens Hammacher authored
    We need to ensure that the NativeModule stays alive while any
    {BackgroundCompileScope} exists, because during that time we hold
    shared ownership of the mutex in the {BackgroundCompileToken}. If the
    {NativeModule} dies during that period, we would need to get exclusive
    ownership of the mutex and deadlock.
    
    This change requires holding a {std::weak_ptr<NativeModule>} in the
    BackgroundCompileToken instead of a raw pointer, hence it can only be
    initialized after the NativeModule was created. This is done via a
    separate {InitCompilationState} method.
    
    R=ahaas@chromium.org
    
    Bug: v8:8979
    Change-Id: Ia14bd272ea0bc47aec547024da6020608418c9d2
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1518178
    Auto-Submit: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60203}
    3df442d7
Name
Last commit
Last update
..
OWNERS Loading commit data...
control-transfer-unittest.cc Loading commit data...
decoder-unittest.cc Loading commit data...
function-body-decoder-unittest.cc Loading commit data...
leb-helper-unittest.cc Loading commit data...
loop-assignment-analysis-unittest.cc Loading commit data...
module-decoder-unittest.cc Loading commit data...
streaming-decoder-unittest.cc Loading commit data...
trap-handler-posix-unittest.cc Loading commit data...
trap-handler-win-unittest.cc Loading commit data...
trap-handler-x64-unittest.cc Loading commit data...
wasm-code-manager-unittest.cc Loading commit data...
wasm-compiler-unittest.cc Loading commit data...
wasm-macro-gen-unittest.cc Loading commit data...
wasm-module-builder-unittest.cc Loading commit data...
wasm-opcodes-unittest.cc Loading commit data...