| import { instantiate } from "../wabt-wrapper.js" | |
| import * as assert from "../assert.js" | |
| /* | |
| (module | |
| (tag $e1) | |
| (func (export "rethrow_test") (result i32) | |
| (block $b0 | |
| (try_table (catch $e1 $b0) | |
| (block $b1 (result exnref) | |
| (try_table (result exnref) (catch_all_ref $b1) | |
| (throw $e1) | |
| (i32.const 0) | |
| (return) | |
| (ref.null exn) | |
| ) | |
| (; catch for e1 ;) | |
| ) | |
| (throw_ref) | |
| ) | |
| (; should never be reached ;) | |
| (i32.const 1) | |
| (return) | |
| ) | |
| (i32.const 3) | |
| (return) | |
| ) | |
| ) | |
| */ | |
| var wasm_module = new WebAssembly.Module(new Uint8Array([ | |
| 0x00,0x61,0x73,0x6d,0x01,0x00,0x00,0x00,0x01,0x88,0x80,0x80,0x80,0x00,0x02,0x60,0x00,0x00,0x60,0x00,0x01,0x7f,0x03,0x82,0x80,0x80,0x80,0x00,0x01,0x01,0x0d,0x83,0x80,0x80,0x80,0x00,0x01,0x00,0x00,0x07,0x90,0x80,0x80,0x80,0x00,0x01,0x0c,0x72,0x65,0x74,0x68,0x72,0x6f,0x77,0x5f,0x74,0x65,0x73,0x74,0x00,0x00,0x0a,0xa9,0x80,0x80,0x80,0x00,0x01,0xa3,0x80,0x80,0x80,0x00,0x00,0x02,0x40,0x1f,0x40,0x01,0x00,0x00,0x00,0x02,0x69,0x1f,0x69,0x01,0x03,0x00,0x08,0x00,0x41,0x00,0x0f,0xd0,0x69,0x0b,0x0b,0x0a,0x0b,0x41,0x01,0x0f,0x0b,0x41,0x03,0x0f,0x0b, | |
| ])); | |
| var instance = new WebAssembly.Instance(wasm_module); | |
| const { rethrow_test } = instance.exports | |
| for (let i = 0; i < wasmTestLoopCount; ++i) { | |
| assert.eq(rethrow_test(), 3) | |
| } |