Commit 1bda8d9b authored by Andreas Haas's avatar Andreas Haas Committed by Commit Bot

[wasm] Disallow streaming compilation when --no-wasm-async-compilation

The --no-wasm-async-compilation disabled async compilation so far, but
async compilation was still possible over streaming compilation. With
this CL, also streaming compilation is disabled.

R=clemensb@chromium.org

Bug: v8:9760
Change-Id: I7e8d4db9e3bb960e8e7380e2190409f63b2f1968
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2199343Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67807}
parent 0c795b64
...@@ -1511,6 +1511,7 @@ AsyncCompileJob::AsyncCompileJob( ...@@ -1511,6 +1511,7 @@ AsyncCompileJob::AsyncCompileJob(
wire_bytes_(bytes_copy_.get(), bytes_copy_.get() + length), wire_bytes_(bytes_copy_.get(), bytes_copy_.get() + length),
resolver_(std::move(resolver)) { resolver_(std::move(resolver)) {
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8.wasm"), "new AsyncCompileJob"); TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8.wasm"), "new AsyncCompileJob");
CHECK(FLAG_wasm_async_compilation);
CHECK(!FLAG_jitless); CHECK(!FLAG_jitless);
v8::Isolate* v8_isolate = reinterpret_cast<v8::Isolate*>(isolate); v8::Isolate* v8_isolate = reinterpret_cast<v8::Isolate*>(isolate);
v8::Platform* platform = V8::GetCurrentPlatform(); v8::Platform* platform = V8::GetCurrentPlatform();
......
...@@ -2060,6 +2060,11 @@ void WasmJs::Install(Isolate* isolate, bool exposed_on_global_object) { ...@@ -2060,6 +2060,11 @@ void WasmJs::Install(Isolate* isolate, bool exposed_on_global_object) {
InstallFunc(isolate, webassembly, "validate", WebAssemblyValidate, 1); InstallFunc(isolate, webassembly, "validate", WebAssemblyValidate, 1);
InstallFunc(isolate, webassembly, "instantiate", WebAssemblyInstantiate, 1); InstallFunc(isolate, webassembly, "instantiate", WebAssemblyInstantiate, 1);
// The implementation of streaming compilation depends on async compilation.
// If async compilation is disabled, then a streaming compilation callback
// should not be set.
CHECK_IMPLIES(!FLAG_wasm_async_compilation,
isolate->wasm_streaming_callback() == nullptr);
if (FLAG_wasm_test_streaming) { if (FLAG_wasm_test_streaming) {
isolate->set_wasm_streaming_callback(WasmStreamingCallbackForTesting); isolate->set_wasm_streaming_callback(WasmStreamingCallbackForTesting);
} }
......
...@@ -961,6 +961,9 @@ ...@@ -961,6 +961,9 @@
'wasm/atomics-stress': [SKIP], 'wasm/atomics-stress': [SKIP],
'wasm/atomics64-stress': [SKIP], 'wasm/atomics64-stress': [SKIP],
'wasm/futex': [SKIP], 'wasm/futex': [SKIP],
'regress/wasm/regress-1067621': [SKIP],
'wasm/tier-down-to-liftoff': [SKIP],
}], # 'predictable == True' }], # 'predictable == True'
############################################################################## ##############################################################################
......
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