Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[browser] remove EXPORT_EXCEPTION_HANDLING_HELPERS #111033

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

Merged
merged 2 commits into from
Feb 20, 2025

Conversation

pavelsavara
Copy link
Member

@pavelsavara pavelsavara commented Jan 2, 2025

get rid of un-used getExceptionMessage -> __cxa_demangle -> itanium_demangle

Fixes #110861

@pavelsavara pavelsavara added arch-wasm WebAssembly architecture area-Build-mono os-browser Browser variant of arch-wasm labels Jan 2, 2025
@pavelsavara pavelsavara added this to the 10.0.0 milestone Jan 2, 2025
@pavelsavara pavelsavara requested a review from kg January 2, 2025 13:36
@pavelsavara pavelsavara self-assigned this Jan 2, 2025
@kg
Copy link
Member

kg commented Jan 2, 2025

Why are they unused? These were needed to fix an exception handling issue in the jiterpreter before.

@pavelsavara
Copy link
Member Author

Why are they unused? These were needed to fix an exception handling issue in the jiterpreter before.

Our code never references getExceptionMessage. Or do you mean something else ?

@pavelsavara
Copy link
Member Author

Maybe this is about __cpp_exception export which is used in jiterp.

https://github.com/emscripten-core/emscripten/blob/537d805bd9c4af12b65c95a1680df3b5f137754d/tools/link.py#L1822-L1834

@pavelsavara pavelsavara force-pushed the browser_remove_eh_helpers branch from 05bd6be to e572991 Compare February 18, 2025 19:14
@kg
Copy link
Member

kg commented Feb 18, 2025

IIRC most scenarios this covers will be exercised by https://github.com/dotnet/runtime/tree/main/src/mono/sample/wasm/browser-shutdown but there were some (JS exception handling on targets without WASM EH) that require manual testing with explicit browser flags or something.

On the other hand WASM EH has been available for so long that maybe we can stop caring about JS emulation...

@pavelsavara
Copy link
Member Author

sample/wasm/browser-shutdown

Thanks, I tested it and it's working fine. The scenario I was worried about is jiterp, but I was also able to confirm it now.

image

image

image

__cxa_demangle is not there, tag $__cpp_exception is there, exported and can be loaded by jiterp.

On the other hand WASM EH has been available for so long that maybe we can stop caring about JS emulation...

Created #112686

@pavelsavara pavelsavara marked this pull request as ready for review February 19, 2025 09:05
@Copilot Copilot AI review requested due to automatic review settings February 19, 2025 09:05
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

@pavelsavara pavelsavara merged commit da4f0a3 into dotnet:main Feb 20, 2025
68 of 71 checks passed
@pavelsavara pavelsavara deleted the browser_remove_eh_helpers branch February 20, 2025 10:08
@github-actions github-actions bot locked and limited conversation to collaborators Mar 23, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Build-mono os-browser Browser variant of arch-wasm
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[browser] itanium_demangle symbols in .wasm file
4 participants