From 2811ae48017828579928999e3c4f77fb4c32f77c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Mon, 17 Sep 2018 12:47:16 +0200 Subject: deps: patch V8 to 6.9.427.23 PR-URL: https://github.com/nodejs/node/pull/22898 Refs: https://github.com/v8/v8/compare/6.9.427.22...6.9.427.23 Reviewed-By: Colin Ihrig Reviewed-By: Ali Ijaz Sheikh --- deps/v8/include/v8-version.h | 2 +- deps/v8/src/wasm/wasm-js.cc | 1 + deps/v8/test/mjsunit/wasm/disallow-codegen.js | 39 +++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) (limited to 'deps') diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index c7cffaca444..57fbc629644 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 6 #define V8_MINOR_VERSION 9 #define V8_BUILD_NUMBER 427 -#define V8_PATCH_LEVEL 22 +#define V8_PATCH_LEVEL 23 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/src/wasm/wasm-js.cc b/deps/v8/src/wasm/wasm-js.cc index ef316c64d06..7ff27dc769b 100644 --- a/deps/v8/src/wasm/wasm-js.cc +++ b/deps/v8/src/wasm/wasm-js.cc @@ -729,6 +729,7 @@ void WebAssemblyInstantiate(const v8::FunctionCallbackInfo& args) { if (!i::wasm::IsWasmCodegenAllowed(i_isolate, i_isolate->native_context())) { thrower.CompileError("Wasm code generation disallowed by embedder"); compilation_resolver->OnCompilationFailed(thrower.Reify()); + return; } // Asynchronous compilation handles copying wire bytes if necessary. diff --git a/deps/v8/test/mjsunit/wasm/disallow-codegen.js b/deps/v8/test/mjsunit/wasm/disallow-codegen.js index 9ac2bcd103e..f1303e845fe 100644 --- a/deps/v8/test/mjsunit/wasm/disallow-codegen.js +++ b/deps/v8/test/mjsunit/wasm/disallow-codegen.js @@ -65,6 +65,16 @@ async function AsyncTestOk() { promise, module => assertInstanceof(module, WebAssembly.Module)); } +async function AsyncTestWithInstantiateOk() { + print('async module instantiate (ok)...'); + %DisallowCodegenFromStrings(false); + %DisallowWasmCodegen(false); + let promise = WebAssembly.instantiate(buffer); + assertPromiseResult( + promise, + module => assertInstanceof(module.instance, WebAssembly.Instance)); +} + async function AsyncTestFail() { print('async module compile (fail)...'); %DisallowCodegenFromStrings(true); @@ -78,6 +88,19 @@ async function AsyncTestFail() { } } +async function AsyncTestWithInstantiateFail() { + print('async module instantiate (fail)...'); + %DisallowCodegenFromStrings(true); + %DisallowWasmCodegen(false); + try { + let m = await WebAssembly.instantiate(buffer); + assertUnreachable(); + } catch (e) { + print(" " + e); + assertInstanceof(e, WebAssembly.CompileError); + } +} + async function AsyncTestWasmFail(disallow_codegen) { print('async wasm module compile (fail)...'); %DisallowCodegenFromStrings(disallow_codegen); @@ -91,6 +114,19 @@ async function AsyncTestWasmFail(disallow_codegen) { } } +async function AsyncTestWasmWithInstantiateFail(disallow_codegen) { + print('async wasm module instantiate (fail)...'); + %DisallowCodegenFromStrings(disallow_codegen); + %DisallowWasmCodegen(true); + try { + let m = await WebAssembly.instantiate(buffer); + assertUnreachable(); + } catch (e) { + print(" " + e); + assertInstanceof(e, WebAssembly.CompileError); + } +} + async function StreamingTestOk() { print('streaming module compile (ok)...'); // TODO(titzer): compileStreaming must be supplied by embedder. @@ -149,7 +185,9 @@ async function RunAll() { await SyncTestOk(); await SyncTestFail(); await AsyncTestOk(); + await AsyncTestWithInstantiateOk(); await AsyncTestFail(); + await AsyncTestWithInstantiateFail(); await StreamingTestOk(); await StreamingTestFail(); @@ -157,6 +195,7 @@ async function RunAll() { for (count = 0; count < 2; ++count) { SyncTestWasmFail(disallow_codegen); AsyncTestWasmFail(disallow_codegen); + AsyncTestWasmWithInstantiateFail(disallow_codegen); StreamingTestWasmFail(disallow_codegen) disallow_codegen = true; } -- cgit v1.2.3