| (module |
| (type $none_=>_none (func)) |
| (type $i32_=>_none (func (param i32))) |
| (type $i64_=>_none (func (param i64))) |
| (type $i32_i64_=>_none (func (param i32 i64))) |
| (type $eqref_=>_none (func (param eqref))) |
| (tag $e-i32 (param i32)) |
| (tag $e-i64 (param i64)) |
| (tag $e-i32-i64 (param i32 i64)) |
| (tag $e-eqref (param eqref)) |
| (tag $e-empty (param)) |
| (func $foo (type $none_=>_none) |
| (nop) |
| ) |
| (func $bar (type $none_=>_none) |
| (nop) |
| ) |
| (func $eh-test (type $none_=>_none) |
| (local $x i32) |
| (local $1 i64) |
| (local $2 (i32 i64)) |
| (local $3 i32) |
| (local $4 i32) |
| (try $label$3 |
| (do |
| (throw $e-i32 |
| (i32.const 0) |
| ) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| ) |
| ) |
| (try $label$6 |
| (do |
| (throw $e-i32-i64 |
| (i32.const 0) |
| (i64.const 0) |
| ) |
| ) |
| (catch $e-i32-i64 |
| (local.set $2 |
| (pop i32 i64) |
| ) |
| (local.set $x |
| (block (result i32) |
| (local.set $3 |
| (tuple.extract 0 |
| (local.get $2) |
| ) |
| ) |
| (local.set $1 |
| (tuple.extract 1 |
| (local.get $2) |
| ) |
| ) |
| (local.get $3) |
| ) |
| ) |
| (drop |
| (block (result i32) |
| (local.set $4 |
| (local.get $x) |
| ) |
| (drop |
| (local.get $1) |
| ) |
| (local.get $4) |
| ) |
| ) |
| ) |
| ) |
| (block $label$7 |
| (try $label$10 |
| (do |
| (br $label$7) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| (br $label$7) |
| ) |
| ) |
| ) |
| (try $label$13 |
| (do |
| (nop) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| ) |
| ) |
| (try $label$16 |
| (do |
| (call $foo) |
| (call $bar) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| (call $foo) |
| (call $bar) |
| ) |
| ) |
| (try $label$19 |
| (do |
| (throw $e-i32 |
| (i32.const 0) |
| ) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| ) |
| (catch $e-i64 |
| (drop |
| (pop i64) |
| ) |
| ) |
| ) |
| (try $label$22 |
| (do |
| (throw $e-i32 |
| (i32.const 0) |
| ) |
| ) |
| (catch_all |
| (nop) |
| ) |
| ) |
| (try $label$25 |
| (do |
| (throw $e-i32 |
| (i32.const 0) |
| ) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| ) |
| (catch $e-i64 |
| (drop |
| (pop i64) |
| ) |
| ) |
| (catch_all |
| (call $foo) |
| (call $bar) |
| ) |
| ) |
| (try $label$34 |
| (do |
| (try $label$29 |
| (do |
| (throw $e-i32 |
| (i32.const 0) |
| ) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| ) |
| (catch_all |
| (nop) |
| ) |
| ) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| ) |
| (catch_all |
| (try $label$33 |
| (do |
| (throw $e-i32 |
| (i32.const 0) |
| ) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| ) |
| (catch_all |
| (nop) |
| ) |
| ) |
| ) |
| ) |
| (try $label$37 |
| (do |
| (throw $e-i32 |
| (i32.const 0) |
| ) |
| ) |
| ) |
| ) |
| (func $delegate-test (type $none_=>_none) |
| (try $label$9 |
| (do |
| (block $label$1 |
| (try $label$4 |
| (do |
| (call $foo) |
| ) |
| (delegate $label$9) |
| ) |
| (try $label$7 |
| (do |
| (call $foo) |
| ) |
| (delegate $label$9) |
| ) |
| ) |
| ) |
| (catch_all |
| (nop) |
| ) |
| ) |
| (block $label$10 |
| (try $label$19 |
| (do |
| (block $label$11 |
| (try $label$14 |
| (do |
| (br_if $label$10 |
| (i32.const 1) |
| ) |
| ) |
| (delegate $label$19) |
| ) |
| (try $label$17 |
| (do |
| (br_if $label$10 |
| (i32.const 1) |
| ) |
| ) |
| (delegate $label$19) |
| ) |
| ) |
| ) |
| (catch_all |
| (nop) |
| ) |
| ) |
| ) |
| (try $label$25 |
| (do |
| (block $label$20 |
| (try $label$23 |
| (do |
| (call $foo) |
| ) |
| (delegate $label$25) |
| ) |
| ) |
| ) |
| (delegate 0) |
| ) |
| (try $label$28 |
| (do |
| (nop) |
| ) |
| (catch $e-empty |
| (nop) |
| ) |
| ) |
| ) |
| (func $rethrow-test (type $none_=>_none) |
| (try $label$3 |
| (do |
| (call $foo) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| (rethrow $label$3) |
| ) |
| (catch_all |
| (rethrow $label$3) |
| ) |
| ) |
| (block $label$4 |
| (try $label$7 |
| (do |
| (call $foo) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| (rethrow $label$7) |
| ) |
| (catch_all |
| (br $label$4) |
| ) |
| ) |
| ) |
| (try $label$13 |
| (do |
| (call $foo) |
| ) |
| (catch_all |
| (try $label$12 |
| (do |
| (call $foo) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| (rethrow $label$13) |
| ) |
| (catch_all |
| (rethrow $label$13) |
| ) |
| ) |
| ) |
| ) |
| (try $label$20 |
| (do |
| (call $foo) |
| ) |
| (catch_all |
| (try $label$19 |
| (do |
| (call $foo) |
| ) |
| (catch $e-i32 |
| (drop |
| (pop i32) |
| ) |
| (block $label$18 |
| (rethrow $label$20) |
| ) |
| ) |
| (catch_all |
| (rethrow $label$20) |
| ) |
| ) |
| ) |
| ) |
| (try $label$26 |
| (do |
| (call $foo) |
| ) |
| (catch_all |
| (try $label$25 |
| (do |
| (rethrow $label$26) |
| ) |
| (catch_all |
| (nop) |
| ) |
| ) |
| ) |
| ) |
| (try $label$32 |
| (do |
| (call $foo) |
| ) |
| (catch_all |
| (try $label$31 |
| (do |
| (rethrow $label$32) |
| ) |
| (catch_all |
| (nop) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (func $pop-test (type $none_=>_none) |
| (try $label$5 |
| (do |
| (nop) |
| ) |
| (catch $e-i32 |
| (throw $e-i32 |
| (if (result i32) |
| (pop i32) |
| (i32.const 0) |
| (i32.const 3) |
| ) |
| ) |
| ) |
| ) |
| (try $label$8 |
| (do |
| (nop) |
| ) |
| (catch $e-eqref |
| (drop |
| (pop eqref) |
| ) |
| ) |
| ) |
| ) |
| (func $catchless-try-with-inner-delegate (type $none_=>_none) |
| (try $label$6 |
| (do |
| (block $label$1 |
| (try $label$4 |
| (do |
| (throw $e-i32 |
| (i32.const 0) |
| ) |
| ) |
| (delegate $label$6) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (func $nested-block-and-try (type $none_=>_none) |
| (block $label$1 |
| (block $label$2 |
| ) |
| (try $label$5 |
| (do |
| (nop) |
| ) |
| (delegate 1) |
| ) |
| ) |
| (nop) |
| ) |
| ) |
| |