summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Lively <tlively@google.com>2024-04-25 14:55:12 -0700
committerGitHub <noreply@github.com>2024-04-25 14:55:12 -0700
commit956d2d89d530012885c1f88c87bf8b872c187b70 (patch)
treea24095ab6965bbfdfd04afbc02c33a3409d51fd0 /src
parentf44dcd4482f5bbb0fb5b567de4a9425ed949c939 (diff)
downloadbinaryen-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.cpp2
-rw-r--r--src/wasm/wasm-io.cpp2
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"