-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Adding GetMethodTableInitializationFlags cDAC API #118493
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
Tagging subscribers to this area: @steveisok, @dotnet/dotnet-diag |
...ged/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/RuntimeTypeSystem_1.cs
Outdated
Show resolved
Hide resolved
src/native/managed/cdac/mscordaccore_universal/Legacy/SOSDacImpl.cs
Outdated
Show resolved
Hide resolved
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 adds the GetMethodTableInitializationFlags
cDAC API to determine the initialization status of method tables. The implementation checks if a class is initialized or has initialization errors by examining flags in the MethodTableAuxiliaryData structure.
Key changes:
- Adds a new Flags field to MethodTableAuxiliaryData to track initialization state
- Implements two new methods (
IsClassInited
andIsInitError
) in the RuntimeTypeSystem contract - Updates the SOSDacInterface14 implementation to use the new cDAC contract instead of legacy implementation
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
MockDescriptors.cs | Adds Flags field to MethodTableAuxiliaryData mock descriptor for testing |
SOSDacImpl.cs | Implements GetMethodTableInitializationFlags using new cDAC contracts with debug validation |
ISOSDacInterface.cs | Defines MethodTableInitializationFlags enum and updates method signature |
MethodTableAuxiliaryData.cs | Adds Flags property to read initialization flags from memory |
RuntimeTypeSystem_1.cs | Implements IsClassInited and IsInitError methods using auxiliary data flags |
IRuntimeTypeSystem.cs | Adds interface declarations for the new initialization check methods |
datadescriptor.inc | Maps the Flags field to the native MethodTableAuxiliaryData structure |
RuntimeTypeSystem.md | Documents the new API methods and data structure changes |
API from discussion yesterday