| 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);
|
|
|