diff options
author | Thomas Lively <tlively@google.com> | 2024-04-25 14:55:12 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-25 14:55:12 -0700 |
commit | 956d2d89d530012885c1f88c87bf8b872c187b70 (patch) | |
tree | a24095ab6965bbfdfd04afbc02c33a3409d51fd0 /test/lit/basic/exception-handling-old.wast | |
parent | f44dcd4482f5bbb0fb5b567de4a9425ed949c939 (diff) | |
download | binaryen-956d2d89d530012885c1f88c87bf8b872c187b70.tar.gz binaryen-956d2d89d530012885c1f88c87bf8b872c187b70.tar.bz2 binaryen-956d2d89d530012885c1f88c87bf8b872c187b70.zip |
[Parser] Enable the new text parser by default (#6371)
The new text parser is faster and more standards compliant than the old text
parser. Enable it by default in wasm-opt and update the tests to reflect the
slightly different results it produces. Besides following the spec, the new
parser differs from the old parser in that it:
- Does not synthesize `loop` and `try` labels unnecessarily
- Synthesizes different block names in some cases
- Parses exports in a different order
- Parses `nop`s instead of empty blocks for empty control flow arms
- Does not support parsing Poppy IR
- Produces different error messages
- Cannot parse `pop` except as the first instruction inside a `catch`
Diffstat (limited to 'test/lit/basic/exception-handling-old.wast')
-rw-r--r-- | test/lit/basic/exception-handling-old.wast | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/test/lit/basic/exception-handling-old.wast b/test/lit/basic/exception-handling-old.wast index 5474a4d90..6d6c82e83 100644 --- a/test/lit/basic/exception-handling-old.wast +++ b/test/lit/basic/exception-handling-old.wast @@ -66,7 +66,7 @@ ;; Old Phase 3 exception handling ;; CHECK-TEXT: (func $simple-try-catch (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (throw $e-i32 ;; CHECK-TEXT-NEXT: (i32.const 0) @@ -106,7 +106,7 @@ ;; CHECK-TEXT: (func $try-catch-multivalue-tag (type $0) ;; CHECK-TEXT-NEXT: (local $x (tuple i32 i64)) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (throw $e-i32-i64 ;; CHECK-TEXT-NEXT: (i32.const 0) @@ -179,16 +179,16 @@ ) ;; CHECK-TEXT: (func $try-with-block-label (type $0) - ;; CHECK-TEXT-NEXT: (block $l10 + ;; CHECK-TEXT-NEXT: (block $label ;; CHECK-TEXT-NEXT: (try $l1 ;; CHECK-TEXT-NEXT: (do - ;; CHECK-TEXT-NEXT: (br $l10) + ;; CHECK-TEXT-NEXT: (br $label) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (catch $e-i32 ;; CHECK-TEXT-NEXT: (drop ;; CHECK-TEXT-NEXT: (pop i32) ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: (br $l10) + ;; CHECK-TEXT-NEXT: (br $label) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) @@ -221,7 +221,7 @@ ) ;; CHECK-TEXT: (func $empty-try-body (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (nop) ;; CHECK-TEXT-NEXT: ) @@ -254,7 +254,7 @@ ) ;; CHECK-TEXT: (func $multiple-insts-within-try-and-catch-bodies (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (call $foo) ;; CHECK-TEXT-NEXT: (call $bar) @@ -298,7 +298,7 @@ ) ;; CHECK-TEXT: (func $multiple-catches (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (throw $e-i32 ;; CHECK-TEXT-NEXT: (i32.const 0) @@ -350,7 +350,7 @@ ) ;; CHECK-TEXT: (func $catch-all (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (throw $e-i32 ;; CHECK-TEXT-NEXT: (i32.const 0) @@ -383,7 +383,7 @@ ) ;; CHECK-TEXT: (func $catch-and-catch-all-together (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (throw $e-i32 ;; CHECK-TEXT-NEXT: (i32.const 0) @@ -447,9 +447,9 @@ ) ;; CHECK-TEXT: (func $nested-try-catch (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do - ;; CHECK-TEXT-NEXT: (try $try1 + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (throw $e-i32 ;; CHECK-TEXT-NEXT: (i32.const 0) @@ -471,7 +471,7 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (catch_all - ;; CHECK-TEXT-NEXT: (try $try2 + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (throw $e-i32 ;; CHECK-TEXT-NEXT: (i32.const 0) @@ -563,7 +563,7 @@ ) ;; CHECK-TEXT: (func $catchless-delegateless-try (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (throw $e-i32 ;; CHECK-TEXT-NEXT: (i32.const 0) @@ -591,13 +591,13 @@ ;; CHECK-TEXT: (func $inner-delegate-target-outer-catch (type $0) ;; CHECK-TEXT-NEXT: (try $l0 ;; CHECK-TEXT-NEXT: (do - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (call $foo) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (delegate $l0) ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: (try $try3 + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (call $foo) ;; CHECK-TEXT-NEXT: ) @@ -653,20 +653,20 @@ ) ;; CHECK-TEXT: (func $branch-and-delegate-target-same-try-label (type $0) - ;; CHECK-TEXT-NEXT: (block $l05 + ;; CHECK-TEXT-NEXT: (block $label ;; CHECK-TEXT-NEXT: (try $l0 ;; CHECK-TEXT-NEXT: (do - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do - ;; CHECK-TEXT-NEXT: (br_if $l05 + ;; CHECK-TEXT-NEXT: (br_if $label ;; CHECK-TEXT-NEXT: (i32.const 1) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (delegate $l0) ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: (try $try4 + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do - ;; CHECK-TEXT-NEXT: (br_if $l05 + ;; CHECK-TEXT-NEXT: (br_if $label ;; CHECK-TEXT-NEXT: (i32.const 1) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) @@ -736,7 +736,7 @@ ;; CHECK-TEXT: (func $inner-delegate-target-outer-delegate (type $0) ;; CHECK-TEXT-NEXT: (try $l0 ;; CHECK-TEXT-NEXT: (do - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (call $foo) ;; CHECK-TEXT-NEXT: ) @@ -778,7 +778,7 @@ ) ;; CHECK-TEXT: (func $empty-catch-body (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (nop) ;; CHECK-TEXT-NEXT: ) @@ -854,7 +854,7 @@ ) ;; CHECK-TEXT: (func $branch-and-rethrow-target-same-try-label (type $0) - ;; CHECK-TEXT-NEXT: (block $l06 + ;; CHECK-TEXT-NEXT: (block $label ;; CHECK-TEXT-NEXT: (try $l0 ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (call $foo) @@ -866,7 +866,7 @@ ;; CHECK-TEXT-NEXT: (rethrow $l0) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (catch_all - ;; CHECK-TEXT-NEXT: (br $l06) + ;; CHECK-TEXT-NEXT: (br $label) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) @@ -915,7 +915,7 @@ ;; CHECK-TEXT-NEXT: (call $foo) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (catch_all - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (call $foo) ;; CHECK-TEXT-NEXT: ) @@ -984,7 +984,7 @@ ;; CHECK-TEXT-NEXT: (call $foo) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (catch_all - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (call $foo) ;; CHECK-TEXT-NEXT: ) @@ -1063,7 +1063,7 @@ ;; CHECK-TEXT-NEXT: (call $foo) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (catch_all - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (rethrow $l0) ;; CHECK-TEXT-NEXT: ) @@ -1073,14 +1073,14 @@ ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: (try $l07 + ;; CHECK-TEXT-NEXT: (try $l00 ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (call $foo) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (catch_all - ;; CHECK-TEXT-NEXT: (try $try8 + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do - ;; CHECK-TEXT-NEXT: (rethrow $l07) + ;; CHECK-TEXT-NEXT: (rethrow $l00) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (catch_all ;; CHECK-TEXT-NEXT: (nop) @@ -1152,7 +1152,7 @@ ) ;; CHECK-TEXT: (func $pop-within-if-condition (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (nop) ;; CHECK-TEXT-NEXT: ) @@ -1212,13 +1212,13 @@ ) ;; CHECK-TEXT: (func $pop-can-be-supertype (type $0) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (nop) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: (catch $e-eqref ;; CHECK-TEXT-NEXT: (drop - ;; CHECK-TEXT-NEXT: (pop anyref) + ;; CHECK-TEXT-NEXT: (pop eqref) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) ;; CHECK-TEXT-NEXT: ) @@ -1249,7 +1249,7 @@ ;; CHECK-TEXT: (func $catchless-try-with-inner-delegate (type $0) ;; CHECK-TEXT-NEXT: (try $label$0 ;; CHECK-TEXT-NEXT: (do - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (throw $e-i32 ;; CHECK-TEXT-NEXT: (i32.const 0) @@ -1295,7 +1295,7 @@ ;; CHECK-TEXT-NEXT: (block $l0 ;; CHECK-TEXT-NEXT: (block $l1 ;; CHECK-TEXT-NEXT: ) - ;; CHECK-TEXT-NEXT: (try $try + ;; CHECK-TEXT-NEXT: (try ;; CHECK-TEXT-NEXT: (do ;; CHECK-TEXT-NEXT: (nop) ;; CHECK-TEXT-NEXT: ) |