-
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
[cdac] Implement ExecutionManager.ReadyToRunJitManager.GetMethodInfo
(minus handling of hot/cold lookup)
#109766
Merged
elinor-fung
merged 21 commits into
dotnet:main
from
elinor-fung:cdac-methodDescData-r2r
Nov 15, 2024
Merged
[cdac] Implement ExecutionManager.ReadyToRunJitManager.GetMethodInfo
(minus handling of hot/cold lookup)
#109766
elinor-fung
merged 21 commits into
dotnet:main
from
elinor-fung:cdac-methodDescData-r2r
Nov 15, 2024
Conversation
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
…ELPER_DelayLoad_MethodCall
…e a method desc pointer instead of code header
…ays create a default data cache
elinor-fung
requested review from
davidwrighton,
AaronRobinsonMSFT and
max-charlamb
November 13, 2024 04:58
dotnet-issue-labeler
bot
added
the
needs-area-label
An area label is needed to ensure this gets routed to the appropriate area owners
label
Nov 13, 2024
AaronRobinsonMSFT
added
area-Diagnostics-coreclr
and removed
needs-area-label
An area label is needed to ensure this gets routed to the appropriate area owners
labels
Nov 13, 2024
Tagging subscribers to this area: @tommcdon |
3 tasks
11 tasks
This was referenced Nov 14, 2024
AaronRobinsonMSFT
approved these changes
Nov 14, 2024
...ractReader.Contracts/Contracts/ExecutionManager/ExecutionManagerBase.ReadyToRunJitManager.cs
Show resolved
Hide resolved
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
AaronRobinsonMSFT
approved these changes
Nov 14, 2024
mikelle-rogers
pushed a commit
to mikelle-rogers/runtime
that referenced
this pull request
Dec 10, 2024
…` (minus handling of hot/cold lookup) (dotnet#109766) Implement `ExecutionManager.ReadyToRunJitManager.GetMethodInfo` without handling of hot/cold lookup. This maps to `ReadyToRunJitManager::JitCodeToMethodInfo` in the runtime. Basic logic is: - Check if the address is in a thunk for `READYTORUN_HELPER_DelayLoad_MethodCall` - Find the runtime function entry corresponding to the address - Look up the `MethodDesc` for the entry point using the `ReadyToRunInfo`'s hash map Add tests for `ExecutionManager` for getting code blocks and method desc in R2R and for `HashMap` lookup functionality - Start using `Moq` - this change only uses it to mock `IPlatformMetadata`, but I think we should be able to use this instead some of the explicit subclasses we have for testing. - Simplify usage of `TestPlaceholderTarget` such that setting the reader delegate and data cache are not explicit operations - make its constructor take a reader delegate and always create a default data cache - Slight clean up of `ExecutionManagerTestBuilder` - make it more consistent with `MockDescriptors.*` - I think this should probably also be moved under `MockDescriptors`, but I didn't want to do that in this change (same with some helpers in other test classes, like PrecodeStubsTests) Manually validated with `!clrstack` and `!ip2md` in windbg that R2R functions now show up correctly (were `<unknown>` before this change).
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Implement
ExecutionManager.ReadyToRunJitManager.GetMethodInfo
without handling of hot/cold lookup. This maps toReadyToRunJitManager::JitCodeToMethodInfo
in the runtime. Basic logic is:READYTORUN_HELPER_DelayLoad_MethodCall
MethodDesc
for the entry point using theReadyToRunInfo
's hash mapAdd tests for
ExecutionManager
for getting code blocks and method desc in R2R and forHashMap
lookup functionalityMoq
- this change only uses it to mockIPlatformMetadata
, but I think we should be able to use this instead some of the explicit subclasses we have for testing.TestPlaceholderTarget
such that setting the reader delegate and data cache are not explicit operations - make its constructor take a reader delegate and always create a default data cacheExecutionManagerTestBuilder
- make it more consistent withMockDescriptors.*
MockDescriptors
, but I didn't want to do that in this change (same with some helpers in other test classes, like PrecodeStubsTests)Manually validated with
!clrstack
and!ip2md
in windbg that R2R functions now show up correctly (were<unknown>
before this change).Contributes to #99302, #109426