Index: test/mjsunit/wasm/test-wasm-compilation-control.js |
diff --git a/test/mjsunit/wasm/test-wasm-compilation-control.js b/test/mjsunit/wasm/test-wasm-compilation-control.js |
deleted file mode 100644 |
index 5d244947f9aafed8d0e6687fd283ad3d49f9330a..0000000000000000000000000000000000000000 |
--- a/test/mjsunit/wasm/test-wasm-compilation-control.js |
+++ /dev/null |
@@ -1,101 +0,0 @@ |
-// Copyright 2017 the V8 project authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Flags: --allow-natives-syntax --validate-asm |
- |
-load("test/mjsunit/wasm/wasm-constants.js"); |
-load("test/mjsunit/wasm/wasm-module-builder.js"); |
- |
-let buffer = (() => { |
- var builder = new WasmModuleBuilder(); |
- builder.addFunction("f", kSig_i_v) |
- .addBody([kExprI32Const, 42]) |
- .exportAs("f"); |
- return builder.toBuffer(); |
-})(); |
- |
-// allow up to the buffer size |
-%SetWasmCompileControls(buffer.byteLength, true); |
-%SetWasmInstantiateControls(); |
-var m = new WebAssembly.Module(buffer); |
-var i = new WebAssembly.Instance(m); |
-assertEquals(i.exports.f(), 42); |
- |
-// the buffer can't compile synchronously, but we allow async compile |
-%SetWasmCompileControls(buffer.byteLength - 1, true); |
-// test first that we can't sync-instantiate this module anymore |
-try { |
- i = new WebAssembly.Instance(m); |
-} catch (e) { |
- assertTrue(e instanceof RangeError); |
-} |
- |
-//...but we can async-instantiate it |
- |
-WebAssembly.instantiate(m) |
- .then(instance => i = instance, |
- assertUnreachable); |
-%RunMicrotasks(); |
-assertTrue(i instanceof WebAssembly.Instance); |
- |
-try { |
- m = new WebAssembly.Module(buffer); |
- assertUnreachable(); |
-} catch (e) { |
- assertTrue(e instanceof RangeError); |
-} |
- |
-WebAssembly.compile(buffer) |
- .then(res => m = res, |
- m = null); |
- |
-%RunMicrotasks(); |
-assertTrue(m instanceof WebAssembly.Module) |
- |
-WebAssembly.instantiate(buffer) |
- .then(res => m = res.module, |
- m = null); |
- |
-%RunMicrotasks(); |
-assertTrue(m instanceof WebAssembly.Module); |
- |
-// not even async compile works. |
-var ex; |
-%SetWasmCompileControls(buffer.byteLength - 1, false); |
-WebAssembly.compile(buffer) |
- .then(ex = null, |
- e => ex = e); |
- |
-%RunMicrotasks(); |
-assertTrue(ex instanceof RangeError); |
- |
-WebAssembly.instantiate(buffer) |
- .then(ex = null, |
- e => ex = e); |
-%RunMicrotasks(); |
-assertTrue(ex instanceof RangeError); |
- |
- |
-// For asm-wasm, these controls are ignored. |
-%SetWasmCompileControls(0, false); |
-function assertValidAsm(func) { |
- assertTrue(%IsAsmWasmCode(func)); |
-} |
- |
-function assertWasm(expected, func) { |
- assertEquals( |
- expected, func(undefined, undefined, new ArrayBuffer(1024)).caller()); |
- assertValidAsm(func); |
-} |
- |
-function TestAsmWasmIsUnaffected() { |
- "use asm"; |
- function caller() { |
- return 43; |
- } |
- |
- return {caller: caller}; |
-} |
- |
-assertWasm(43, TestAsmWasmIsUnaffected); |