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 /src | |
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 'src')
-rw-r--r-- | src/parser/wat-parser.cpp | 2 | ||||
-rw-r--r-- | src/wasm/wasm-io.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/parser/wat-parser.cpp b/src/parser/wat-parser.cpp index cc7d87540..fd18fbbe0 100644 --- a/src/parser/wat-parser.cpp +++ b/src/parser/wat-parser.cpp @@ -96,6 +96,8 @@ void propagateDebugLocations(Module& wasm) { // do not already have their own debug locations. PassRunner runner(&wasm); runner.add("propagate-debug-locs"); + // The parser should not be responsible for validation. + runner.setIsNested(true); runner.run(); } diff --git a/src/wasm/wasm-io.cpp b/src/wasm/wasm-io.cpp index df1cc19f4..324637103 100644 --- a/src/wasm/wasm-io.cpp +++ b/src/wasm/wasm-io.cpp @@ -33,7 +33,7 @@ namespace wasm { -bool useNewWATParser = false; +bool useNewWATParser = true; #define DEBUG_TYPE "writer" |