diff options
author | Heejin Ahn <aheejin@gmail.com> | 2024-01-23 18:51:57 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-23 18:51:57 -0800 |
commit | 1ce851d7a2044cd1c121bec7de676a61aa147c79 (patch) | |
tree | ec1561b0955e5b54c3ef93dc69ce8f1875b94af6 /scripts | |
parent | 9090ce56fcc67e15005aeedc59c6bc6773220f11 (diff) | |
download | binaryen-1ce851d7a2044cd1c121bec7de676a61aa147c79.tar.gz binaryen-1ce851d7a2044cd1c121bec7de676a61aa147c79.tar.bz2 binaryen-1ce851d7a2044cd1c121bec7de676a61aa147c79.zip |
[EH] Add translator from old to new EH instructions (#6210)
This translates the old Phase 3 EH instructions, which include `try`,
`catch`, `catch_all`, `delegate`, and `rethrow`, into the new EH
instructions, which include `try_table` (with `catch` / `catch_ref` /
`catch_all` / `catch_all_ref`) and `throw_ref`, passed at the Oct 2023
CG meeting.
This translator can be used as a standalone tool by users of the
previous EH toolchain to generate binaries for the new spec without
recompiling, and also can be used at the end of the Binaryen pipeline to
produce binaries for the new spec while the end-to-end toolchain
implementation for the new spec is in progress.
While the goal of this pass is not optimization, this tries to a little
better than the most naive implementation, namely by omitting a few
instructions where possible and trying to minimize the number of
additional locals, because this can be used as a standalone translator
or the last stage of the pipeline while we can't post-optimize the
results because the whole pipeline (-On) is not ready for the new EH.
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/fuzz_opt.py | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/scripts/fuzz_opt.py b/scripts/fuzz_opt.py index 953108a44..27b278703 100755 --- a/scripts/fuzz_opt.py +++ b/scripts/fuzz_opt.py @@ -318,6 +318,7 @@ INITIAL_CONTENTS_IGNORE = [ 'typed_continuations_resume.wast', # New EH implementation is in progress 'exception-handling.wast', + 'translate-eh-old-to-new.wast', ] |