-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[WASM] Add ILStrip task to wasm app build process #88926
Conversation
Are we confident that this handles all the cases where wasm might transition to the interpreter appropriately? |
Also, test needed in |
And could you please add some detail about what the PR is doing, like what the default is for the property, and what it will do, and/or affect? |
…o for tiny methods
* Methods which have 'deopt' set can enter the interpreter during EH. * Methods which have 'interp_entry_only' set are AOTed, but the AOT code is only used to enter the interpreter.
cc @kg |
I am trying to test it with as many apps as I could get a hold on before merging it. TBH, I can't guarantee that this feature is going to work 100% for all wasm apps, that's why it is off by default. |
The mono changes look ok to me. |
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.
LGTM. Consider changing WASMStripIL
to WasmStripIL
.
Is it worth calling out that this only makes sense with AOT right in the property name? Maybe WasmStripILAfterAOT
?
Will enable WASM AOT tests with |
Fixes #88696
With this PR, the customer is able to create an WASM app and enabling IL trimming for AOT compiled methods. By default, this is disabled. To enable it, build the app with
WasmStripILAfterAOT =true
. This change help producing a smaller WASM app.Impact of this change is displayed as follows. I measured the size of
_framework
after compression using brotli for wasm apps with AOT enabled:src/mono/sample/wasm/browser
src/mono/sample/wasm/browser-bench