blob: e508572ecd688e073264c6b3e54e5888bde3e6b8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
// 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());
})();
|