text: // 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"); });
  })();
  