diff options
author | Michaƫl Zasso <targos@protonmail.com> | 2018-09-17 13:47:16 +0300 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2018-09-20 06:58:53 +0300 |
commit | 2811ae48017828579928999e3c4f77fb4c32f77c (patch) | |
tree | dfadf2cc8e8dd16589c7778fc3ae97772e1cc8be | |
parent | fadafef4f4e673b71cb33078a588daddf8deed3a (diff) |
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 <cjihrig@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
-rw-r--r-- | deps/v8/include/v8-version.h | 2 | ||||
-rw-r--r-- | deps/v8/src/wasm/wasm-js.cc | 1 | ||||
-rw-r--r-- | deps/v8/test/mjsunit/wasm/disallow-codegen.js | 39 |
3 files changed, 41 insertions, 1 deletions
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<v8::Value>& 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; } |