-
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
Add support for delegate GDV and method-based vtable GDV #68703
Merged
jakobbotsch
merged 73 commits into
dotnet:main
from
jakobbotsch:method-handle-instrumentation
Jun 17, 2022
Merged
Changes from all commits
Commits
Show all changes
73 commits
Select commit
Hold shift + click to select a range
26ad0a8
Add support for storing method handle histograms in profiles
jakobbotsch 6959656
Fix R2R reader for PGO schema entries without data
jakobbotsch 3245442
Support instrumenting method handles for delegates and vtable calls
jakobbotsch 2cbe83f
Handle static methods and also move fcall handling
jakobbotsch 5b31bee
Fix writing out methods
jakobbotsch 7596146
Remove an unnecessary check
jakobbotsch a1c3a7e
Merge remote-tracking branch 'upstream/main' into method-handle-histo…
jakobbotsch 5114f2c
Fix build and some logic inversions
jakobbotsch decb84d
Bump R2R minor version and JIT-EE GUID
jakobbotsch baf3662
Merge remote-tracking branch 'upstream/main' into method-handle-histo…
jakobbotsch 8703a49
Merge remote-tracking branch 'upstream/main' into method-handle-instr…
jakobbotsch 7b1714a
Merge branch 'method-handle-histograms' into method-handle-instrument…
jakobbotsch 7910dba
Merge remote-tracking branch 'origin/method-handle-histograms' into m…
jakobbotsch 01353ed
Fix after merge
jakobbotsch a3b04a3
Change to static_assert and remove a comment
jakobbotsch 8dc5c6a
Foo
jakobbotsch da05869
Few cleanups
jakobbotsch af7232b
Better comment
jakobbotsch 12d1d86
Run jit-format
jakobbotsch 5a09741
More cleanup
jakobbotsch cd07709
Do not null check delegate GDV calls
jakobbotsch 8456a11
Avoid devirt for probed calls
jakobbotsch e401711
Cleanup and format
jakobbotsch 7bc4374
Fix 32-bit build
jakobbotsch 5ee82e2
Reuse target from temp in cold call
jakobbotsch 7250abe
Merge branch 'main' of github.com:dotnet/runtime into method-handle-i…
jakobbotsch 98671fc
Merge branch 'main' of github.com:dotnet/runtime into method-handle-i…
jakobbotsch b175511
Fix build
jakobbotsch 95af330
Add MethodProfiling PGO scenarios
jakobbotsch fa01664
Support randomized GDVs for method handle histograms
jakobbotsch 7a5386e
Run jit-format
jakobbotsch f1bb0da
Merge branch 'main' of github.com:dotnet/runtime into method-handle-i…
jakobbotsch edd2db7
Fix an asertion failure
jakobbotsch e4093c9
Make sure we only log in DEBUG
jakobbotsch 2c1ebe3
Avoid GDV for static calls
jakobbotsch fbbac89
Fix interaction with chained GDV
jakobbotsch d622b64
Fix cast helper probes
jakobbotsch 8ce47f8
Run jit-format
jakobbotsch 39ac90a
Pick random GDV after logging histogram
jakobbotsch 0ab00ae
Fix GDV for vtable calls on System.Delegate
jakobbotsch 93efde4
Mark early expanded vtable calls as such
jakobbotsch 8a7ec55
Merge branch 'main' of github.com:dotnet/runtime into method-handle-i…
jakobbotsch 4b44c8d
Pull reservoir index calculation up in profile helpers
jakobbotsch c30a951
Record only delegate cases that we can actually GDV for
jakobbotsch 531ac9d
Merge branch 'main' of github.com:dotnet/runtime into method-handle-i…
jakobbotsch f6e0827
Fix pesky x86 GTF_CALL_POP_ARGS bug
jakobbotsch 27aff20
Exclude dynamic methods as well as methods in collectible ALCs
jakobbotsch 8444cee
Remove excessive JIT-EE calls for debug logging in non-verbose
jakobbotsch cbc494b
Increase some timeouts to get a full test run
jakobbotsch 6beca6a
Merge branch 'main' of github.com:dotnet/runtime into method-handle-i…
jakobbotsch 0937004
Add missing helper in CorInfoHelpFunc.cs
jakobbotsch 56019b7
Fix conflict resolution and add profiling helpers on crossgen2 side
jakobbotsch 1bd5203
Lower likelihood threshold to 30%, like vtable calls
jakobbotsch 924d0b1
Revert "Increase some timeouts to get a full test run"
jakobbotsch dfbcc86
Add signature compatibility check
jakobbotsch 1f7a1be
Increase some timeouts to get a full test run"
jakobbotsch b0a5c24
Merge branch 'main' of github.com:dotnet/runtime into method-handle-i…
jakobbotsch 0363bf2
Fix after merge
jakobbotsch 4201bf0
Merge branch 'main' of github.com:dotnet/runtime into method-handle-i…
jakobbotsch ed1a073
Separate delegate and vtable profiling
jakobbotsch f0010e6
Set gtTargetHandle for GDV function addrs
jakobbotsch 2b2781d
Fix build
jakobbotsch 993c4c2
Disable method GDV for R2R
jakobbotsch 54b5a0b
Make extra SPMI queries for GDV debugging output purposes
jakobbotsch 901d4d1
Reorder static and signature check
jakobbotsch 12f3654
Misc changes
jakobbotsch 6a9fbfe
Enable delegate profiling by default
jakobbotsch c46ebaa
Fix newlines when printing test profile
jakobbotsch 2fad8de
Merge branch 'main' of github.com:dotnet/runtime into method-handle-i…
jakobbotsch 60f140e
Add GetLikelyMethod and hook it up through R2R
jakobbotsch 1bfc4d8
Update JIT-EE GUID
jakobbotsch 55cdf81
Address some feedback, remove some unneeded stuff
jakobbotsch 55c9d54
Address some more feedback
jakobbotsch File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
getJit | ||
jitStartup | ||
getLikelyClasses | ||
getLikelyMethods | ||
jitBuildString |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,4 +5,5 @@ EXPORTS | |
getJit | ||
jitStartup | ||
getLikelyClasses | ||
getLikelyMethods | ||
jitBuildString |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I am thinking to keep these timeout changes until we get around to splitting up the jobs, it fixes the problem we are seeing with timeouts and I have not seen any issues with making the timeout this high.
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.
sounds good.