-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[EH] Add WASM_LEGACY_EXCEPTIONS option #23365
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This replaces the existing `WASM_EXNREF` option with `WASM_LEGACY_EXCEPTIONS` option, in an effort to make the new standardized exnref proposal the 'default' state and the legacy proposal needs to be separately enabled an option. But given that most users haven't switched to the new proposal and major web browsers haven't turned it on by default, this `WASM_LEGACY_EXCEPTIONS` is turned on by default for the moment. This changes the following function names in `test/common.py` as well: - `require(s)_wasm_eh` -> `require(s)_wasm_legacy_eh` - `require(s)_wasm_exnref` -> `require(s)_wasm_eh` The test names and suffixes will be changed in a follow-up.
| self.skipTest('Wasm EH does not work with asan yet') | ||
| self.emcc_args.append('-fwasm-exceptions') | ||
| self.set_setting('SUPPORT_LONGJMP', 'wasm') | ||
| if mode == 'wasm': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we also change the mode names to something like 'legacy' and 'exnref'?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah test suffixes / mode names will be changed too in a followup.
dschuff
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, now is definitely the time to change this, before we really have any users.
|
Should we add this to Emscripten 4.0.0 release? It's a new option to let the users to use the new exnref EH proposal so it might be a good idea... I realized we haven't announced the previous option |
sbc100
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup lets get this into 4.0
This replaces the existing
WASM_EXNREFoption withWASM_LEGACY_EXCEPTIONSoption, in an effort to make the new standardized exnref proposal the 'default' state and the legacy proposal needs to be separately enabled an option. But given that most users haven't switched to the new proposal and major web browsers haven't turned it on by default, thisWASM_LEGACY_EXCEPTIONSis turned on by default for the moment.This changes the following function names in
test/common.pyas well:require(s)_wasm_eh->require(s)_wasm_legacy_ehrequire(s)_wasm_exnref->require(s)_wasm_ehEven if
WASM_LEGACY_EXCEPTIONSdefaults to true for now, this addsset_setting(WASM_LEGACY_EXCEPTIONS)in the tests to minimize future fixes whenWASM_LEGACY_EXCEPTIONSwill eventually be turned off by default.The test names and suffixes will be changed accordingly in a follow-up.
This is in line with llvm/llvm-project#122158.