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

NativeAOT: Inline static initialization checks in codegen #80954

Closed
EgorBo opened this issue Jan 20, 2023 · 1 comment · Fixed by #83911
Closed

NativeAOT: Inline static initialization checks in codegen #80954

EgorBo opened this issue Jan 20, 2023 · 1 comment · Fixed by #83911
Assignees
Labels
Milestone

Comments

@EgorBo
Copy link
Member

EgorBo commented Jan 20, 2023

All the places where NativeAOT emits call <static initialization helper> we should attempt to inline "is it already initialized" quick checks in front of calls (and mark calls as "cold"). I already did it for JIT a while back (#47901) but gave up on it since JIT successfully gets rid of all static initializations with help of Tiered Compilation (and even with single tier) while it's not physically possible for Ahead-of-Time.

Tracking issue for #64242

@EgorBo EgorBo added the tenet-performance Performance related issue label Jan 20, 2023
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jan 20, 2023
@ghost
Copy link

ghost commented Jan 20, 2023

Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas
See info in area-owners.md if you want to be subscribed.

Issue Details

All the places where NativeAOT emits call <static initialization helper> we should attempt to inline "is it already initialized" quick checks in front of calls (and mark calls as "cold"). I already did it for JIT a while back (#47901) but gave up on it since JIT successfully gets rid of all static initializations with help of Tiered Compilation (and even with single tier) while it's not physically possible for Ahead-of-Time.

Tracking issue for #64242

Author: EgorBo
Assignees: -
Labels:

tenet-performance, area-NativeAOT-coreclr

Milestone: -

@EgorBo EgorBo self-assigned this Jan 20, 2023
@EgorBo EgorBo removed the untriaged New issue has not been triaged by the area owner label Jan 20, 2023
@EgorBo EgorBo added this to the Future milestone Jan 20, 2023
@EgorBo EgorBo modified the milestones: Future, 8.0.0 Mar 24, 2023
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Mar 24, 2023
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Apr 8, 2023
@ghost ghost locked as resolved and limited conversation to collaborators May 8, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant