diff options
author | Heejin Ahn <aheejin@gmail.com> | 2020-05-15 13:29:40 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-15 13:29:40 -0700 |
commit | be61c69e3921d969fdb4743d31b289429aa280c0 (patch) | |
tree | 9460cc126f08105a069d48a837c84adf00ef5e5b /test/passes/precompute_all-features.txt | |
parent | 954acedd317817708ad4a20a29bd6b879086396a (diff) | |
download | binaryen-be61c69e3921d969fdb4743d31b289429aa280c0.tar.gz binaryen-be61c69e3921d969fdb4743d31b289429aa280c0.tar.bz2 binaryen-be61c69e3921d969fdb4743d31b289429aa280c0.zip |
Fix br_on_exn handling in ReFinalize (#2854)
In `ReFinalize`'s branch handling, `updateBreakValueType` is supposed to
be executed only when the branch itself is not replaced with its
argument (because it is guaranteed not to be taken).
Also this moves `visitBrOnExn` from `RuntimeExpressionRunner` to its
base class `ExpressionRunner`, because it does not depend on anything on
the runtime instance to work. This is effectively NFC for now because
`visitTry` is still only implemented only in `RuntimeExpressionRunner`
because it relies on multivalue handling of it, and without it we cannot
create a valid exception `Literal`.
Diffstat (limited to 'test/passes/precompute_all-features.txt')
-rw-r--r-- | test/passes/precompute_all-features.txt | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/passes/precompute_all-features.txt b/test/passes/precompute_all-features.txt index 9c7f4eab1..4253d3c42 100644 --- a/test/passes/precompute_all-features.txt +++ b/test/passes/precompute_all-features.txt @@ -10,6 +10,7 @@ (data (i32.const 0) "passive") (global $global i32 (i32.const 1)) (global $global-mut (mut i32) (i32.const 2)) + (event $event$0 (attr 0) (param)) (func $x (param $x i32) (call $x (i32.const 2300) @@ -314,4 +315,13 @@ ) ) ) + (func $unreachable-br_on_exn + (block $label$1 + (drop + (loop $label$2 + (br $label$2) + ) + ) + ) + ) ) |