// Copyright 2019 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: --experimental-wasm-eh --wasm-test-streaming load("test/mjsunit/wasm/wasm-module-builder.js"); (function TestAsyncCompileExceptionSection() { print(arguments.callee.name); let builder = new WasmModuleBuilder(); let except = builder.addException(kSig_v_v); builder.addFunction("thrw", kSig_v_v) .addBody([ kExprThrow, except, ]).exportFunc(); function step1(buffer) { assertPromiseResult(WebAssembly.compile(buffer), module => step2(module)); } function step2(module) { assertPromiseResult(WebAssembly.instantiate(module), inst => step3(inst)); } function step3(instance) { assertThrows(() => instance.exports.thrw(), WebAssembly.RuntimeError); } step1(builder.toBuffer()); })();