Skip to content

Support hot cold splitting in crossgen2 - #74963

Merged
cshung merged 2 commits into
dotnet:mainfrom
cshung:public/hot-cold-splitting-crossgen2
Oct 28, 2022
Merged

Support hot cold splitting in crossgen2#74963
cshung merged 2 commits into
dotnet:mainfrom
cshung:public/hot-cold-splitting-crossgen2

Conversation

@cshung

@cshungcshung commented Sep 1, 2022

Copy link
Copy Markdown
Contributor

This is a PR created by merging the code from the feature branch on runtimelab.

@amanasifkhalid
@EugenioPena
@dotnet/crossgen-contrib

@cshungcshung added NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) area-ReadyToRun labels Sep 1, 2022
@cshungcshung self-assigned this Sep 1, 2022
@cshung
cshungforce-pushed the public/hot-cold-splitting-crossgen2 branch from 52ed3c2 to 05be8ecCompareSeptember 3, 2022 03:35
@cshung
cshung requested a review from trylekSeptember 15, 2022 17:32
@cshung
cshungforce-pushed the public/hot-cold-splitting-crossgen2 branch from e186ef0 to bdbab66CompareSeptember 20, 2022 19:16
@cshung
cshungforce-pushed the public/hot-cold-splitting-crossgen2 branch 2 times, most recently from 4ba78a9 to 324b616CompareOctober 12, 2022 23:21
Comment threadsrc/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/Amd64/UnwindInfo.cs Outdated
Comment threadsrc/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/ReadyToRunMethod.cs Outdated
Comment threadsrc/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/ReadyToRunReader.cs Outdated
Comment threadsrc/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/ReadyToRunReader.cs Outdated
Comment threadsrc/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/ReadyToRunReader.cs Outdated
Comment threadsrc/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/ReadyToRunReader.cs Outdated
Comment threadsrc/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/ReadyToRunReader.cs Outdated
Comment threadsrc/coreclr/vm/codeman.cpp Outdated
Comment threadsrc/coreclr/vm/codeman.cpp Outdated
Comment threadsrc/coreclr/vm/codeman.cpp Outdated
Comment threadsrc/coreclr/vm/codeman.cpp Outdated
Comment threadsrc/coreclr/vm/codeman.cpp Outdated
Comment threadsrc/coreclr/vm/codeman.cpp Outdated
Comment threadsrc/coreclr/vm/readytoruninfo.cpp Outdated

@trylektrylek left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks Andrew, I believe you, Aman and Eugenio have done a great job, overall this looks great to me, I haven't noticed any blocking issues, I have shared a couple of suggestions for local code cleanups and deduplications and I have a few questions regarding bits of code I have a hard time to comprehend but that's about it.

Comment threadsrc/coreclr/jit/fginline.cpp Outdated
@trylek

Copy link
Copy Markdown
Member

Please also note that there are some conflicts you'll need to resolve. For lab testing, I suppose we should probably tweak the Crossgen2 pipelines to use the hot-cold code splitting and run the crossgen2 outerloop pipeline with this change.

@trylek

trylek commented Oct 19, 2022

Copy link
Copy Markdown
Member

I should probably also emphasize that I mostly focused on Crossgen2 and runtime parts of the change, while I think I've been able to mostly follow the intent of the JIT changes, these definitely merit reviewing by a better JIT expert than me.

@cshung
cshungforce-pushed the public/hot-cold-splitting-crossgen2 branch from 324b616 to 7598273CompareOctober 19, 2022 22:02

@davidwrightondavidwrighton left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This generally looks good. I'm looking forward to the tweaks from in response to code review.

Comment threadsrc/coreclr/tools/Common/Internal/Runtime/ModuleHeaders.cs Outdated
Comment threadsrc/coreclr/vm/codeman.cpp Outdated
cshungand others added 2 commits October 20, 2022 21:14
Co-authored-by: Aman Khalid <58230338+amanasifkhalid@users.noreply.github.com>
Co-authored-by: Eugenio Peña García <70240915+EugenioPena@users.noreply.github.com>
@cshung
cshungforce-pushed the public/hot-cold-splitting-crossgen2 branch from 3a5aed2 to f17547bCompareOctober 21, 2022 04:14
@cshungcshung changed the title [WIP] Support hot cold splitting in crossgen2Support hot cold splitting in crossgen2Oct 21, 2022
@cshungcshung removed the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Oct 21, 2022

@BruceForstallBruceForstall left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

JIT changes LGTM

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@cshung@trylek@davidwrighton@BruceForstall@amanasifkhalid