Skip to content
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] Don't allocate jiterpreter AOT tables unless AOT was enabled at build time #90978

Merged
merged 7 commits into from
Aug 24, 2023

Conversation

kg
Copy link
Member

@kg kg commented Aug 23, 2023

This PR flows the RunAOTCompilation MSBuild property through into the boot config, and only allocates the jiterpreter's AOT tables at startup if the property was set at build time.
This should reduce the startup penalty from pre-allocating function table entries for non-AOT scenarios.

Related dotnet/aspnetcore#49909

If RunAOTCompilation was not set according to config, don't allocate tables for jiterpreter AOT optimizations
@ghost
Copy link

ghost commented Aug 23, 2023

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR flows the RunAOTCompilation MSBuild property through into the boot config, and only allocates the jiterpreter's AOT tables at startup if the property was set at build time.
This should reduce the startup penalty from pre-allocating function table entries for non-AOT scenarios.

Author: kg
Assignees: -
Labels:

arch-wasm, area-Codegen-Interpreter-mono

Milestone: -

@ghost ghost added the needs-author-action An issue or pull request that requires more info or actions from the author. label Aug 23, 2023
@ghost ghost removed the needs-author-action An issue or pull request that requires more info or actions from the author. label Aug 23, 2023
@kg kg requested a review from pavelsavara August 23, 2023 20:04
src/mono/wasm/build/WasmApp.Native.targets Outdated Show resolved Hide resolved
@@ -409,6 +409,8 @@
<_CmakeEnvironmentVariable Include="WASM_ENABLE_SIMD=0" Condition="'$(WasmEnableSIMD)' == 'false'" />
Copy link
Member

Choose a reason for hiding this comment

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

@radical @radekdoulik Why do we have these conditions here? We never build runtime with these settings, aren't we?

Copy link
Member

Choose a reason for hiding this comment

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

Could be my mistake ...

@kg kg merged commit f9b07d4 into dotnet:main Aug 24, 2023
104 checks passed
@ghost ghost locked as resolved and limited conversation to collaborators Sep 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants