| // 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: --expose-wasm --wasm-async-compilation |
| |
| load("test/mjsunit/wasm/wasm-constants.js"); |
| load("test/mjsunit/wasm/wasm-module-builder.js"); |
| |
| (function CompileFunctionsTest() { |
| // Create a big module. |
| var builder = new WasmModuleBuilder(); |
| |
| builder.addMemory(1, 1, true); |
| for (i = 0; i < 100; i++) { |
| builder.addFunction("sub" + i, kSig_i_i) |
| .addBody([ // -- |
| kExprGetLocal, 0, // -- |
| kExprI32Const, i % 61, // -- |
| kExprI32Sub]) // -- |
| .exportFunc() |
| } |
| |
| var buffer = builder.toBuffer(); |
| // Start the compilation but do not wait for the promise to resolve |
| // with assertPromiseResult. This should not cause a crash. |
| WebAssembly.compile(buffer).then( |
| () => { print("success")}, |
| () => { print("failed"); }); |
| })(); |