Commit a5f627d8 authored by Andreas Haas's avatar Andreas Haas Committed by Commit Bot

[wasm] Stop wasm compilation before js compilation in Isolate::Deinit

{Isolate::Deinit} waits for all created
{OptimizingCompiler::CompileTask}s to finish. However, these
CompileTasks run in the background and can be blocked by other tasks
which run in the background, e.g. WebAssembly compilation tasks. With
this CL we stop WebAssembly compilation tasks before we wait for
the {optimizingCompiler:::CompileTask}s.

R=mstarzinger@chromium.org
CC=jarin@chromium.org

Change-Id: I1549c1babdebc2e951aef5e48d0aa8130884fb7d
Reviewed-on: https://chromium-review.googlesource.com/1190302Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55429}
parent b3d06b7e
...@@ -2608,14 +2608,14 @@ void Isolate::Deinit() { ...@@ -2608,14 +2608,14 @@ void Isolate::Deinit() {
debug()->Unload(); debug()->Unload();
wasm_engine()->DeleteCompileJobsOnIsolate(this);
if (concurrent_recompilation_enabled()) { if (concurrent_recompilation_enabled()) {
optimizing_compile_dispatcher_->Stop(); optimizing_compile_dispatcher_->Stop();
delete optimizing_compile_dispatcher_; delete optimizing_compile_dispatcher_;
optimizing_compile_dispatcher_ = nullptr; optimizing_compile_dispatcher_ = nullptr;
} }
wasm_engine()->DeleteCompileJobsOnIsolate(this);
heap_.mark_compact_collector()->EnsureSweepingCompleted(); heap_.mark_compact_collector()->EnsureSweepingCompleted();
heap_.memory_allocator()->unmapper()->EnsureUnmappingCompleted(); heap_.memory_allocator()->unmapper()->EnsureUnmappingCompleted();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment