Skip to content

Conversation

rcj1
Copy link
Contributor

@rcj1 rcj1 commented Aug 7, 2025

API from discussion yesterday

@rcj1 rcj1 requested review from Copilot and max-charlamb and removed request for Copilot August 7, 2025 16:21
Copy link
Contributor

Tagging subscribers to this area: @steveisok, @dotnet/dotnet-diag
See info in area-owners.md if you want to be subscribed.

@Copilot Copilot AI review requested due to automatic review settings August 12, 2025 17:17
Copy link
Contributor

@Copilot Copilot AI left a 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 and IsInitError) 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

@rcj1 rcj1 merged commit 7987df4 into dotnet:main Aug 14, 2025
91 of 96 checks passed
@rcj1 rcj1 deleted the GetMethodTableInitializationFlags branch August 14, 2025 02:49
@rcj1 rcj1 restored the GetMethodTableInitializationFlags branch August 14, 2025 02:49
@rcj1 rcj1 deleted the GetMethodTableInitializationFlags branch August 14, 2025 02:49
@github-actions github-actions bot locked and limited conversation to collaborators Sep 13, 2025
Sign up for free to 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.

3 participants