-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[cDAC] Implement GetMethodTableSlot and GetMethodTableSlotEnum #118960
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
Conversation
b519b6e to
6d78f32
Compare
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.
Pull Request Overview
This PR implements the GetMethodTableSlot and GetMethodTableSlotEnum interfaces for the Contract Data Access Component (cDAC) system. These additions enable enumeration and retrieval of method table slots in the managed debugging environment.
- Implements
GetMethodTableSlotto retrieve method entry points for specific slots in a method table - Adds
GetMethodTableSlotEnumeratorwith a newSOSMethodEnumclass for iterating through all methods in a method table - Extends the RuntimeTypeSystem contract with new APIs for slot management and method enumeration
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
SOSDacImpl.cs |
Implements GetMethodTableSlot method and adds SOSMethodEnum class for method enumeration |
ISOSDacInterface.cs |
Adds interface definitions for ISOSEnum, ISOSMethodEnum, and SOSMethodData structures |
ConversionExtensions.cs |
Adds ToClrDataAddress extension method for TargetCodePointer |
RuntimeTypeSystem_1.cs |
Implements core runtime type system methods for slot management and method enumeration |
IRuntimeTypeSystem.cs |
Adds abstract contract definitions for new slot and method enumeration APIs |
RuntimeTypeSystem.md |
Updates documentation with new API descriptions and implementation details |
src/native/managed/cdac/mscordaccore_universal/Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
…pl.cs Co-authored-by: Rachel <rachel.jarvi@gmail.com>
noahfalk
left a comment
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.
The slot stuff looked fine to me, though I'm sure David has more expertise there than I do.
noahfalk
left a comment
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 think the follow up from that discussion about the API surface would be to define slots and IntroducedMethodDescs such that they return 0/empty enumeration for non-MethodTable based types rather than throwing an exception. You could do it in this PR or a separate one - whatever feels easier.
No description provided.