blob: d7a9e36847337e52cac1973703045e071dc99dbe [file] [edit]
import * as assert from '../assert.js';
/*
(module
(tag $e0)
(type $fn (func (param i32) (result i32)))
(elem declare funcref (ref.func $foo))
(func $bar)
(func $foo (param $x i32) (result i32)
(throw $e0)
(local.get 0)
)
(func (export "main") (result i32)
(call $bar)
(block $h
(try_table (result i32) (catch $e0 $h)
(call_ref $fn (i32.const 42) (ref.func $foo))
)
(return)
)
(i32.const 23)
)
)
*/
let code = new Uint8Array([
0x00,0x61,0x73,0x6d,0x01,0x00,0x00,0x00,0x01,0x8d,0x80,0x80,0x80,0x00,0x03,0x60,0x01,0x7f,0x01,0x7f,0x60,0x00,0x00,0x60,0x00,0x01,0x7f,0x03,0x84,0x80,0x80,0x80,0x00,0x03,0x01,0x00,0x02,0x0d,0x83,0x80,0x80,0x80,0x00,0x01,0x00,0x01,0x07,0x88,0x80,0x80,0x80,0x00,0x01,0x04,0x6d,0x61,0x69,0x6e,0x00,0x02,0x09,0x87,0x80,0x80,0x80,0x00,0x01,0x07,0x70,0x01,0xd2,0x01,0x0b,0x0a,0xaf,0x80,0x80,0x80,0x00,0x03,0x82,0x80,0x80,0x80,0x00,0x00,0x0b,0x86,0x80,0x80,0x80,0x00,0x00,0x08,0x00,0x20,0x00,0x0b,0x97,0x80,0x80,0x80,0x00,0x00,0x10,0x00,0x02,0x40,0x1f,0x7f,0x01,0x00,0x00,0x00,0x41,0x2a,0xd2,0x01,0x14,0x00,0x0b,0x0f,0x0b,0x41,0x17,0x0b
]);
let module = new WebAssembly.Module(code);
let instance = new WebAssembly.Instance(module);
const { main } = instance.exports;
assert.eq(main(), 23);