-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[cDAC] GetCodeHeaderData fork #120275
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
base: main
Are you sure you want to change the base?
[cDAC] GetCodeHeaderData fork #120275
Conversation
Tagging subscribers to this area: @steveisok, @dotnet/dotnet-diag |
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 GetCodeHeaderData
method and adds GC info decoder functionality to the contract DAC (cDAC) system. It introduces a new GCInfo contract with platform-specific implementations for decoding garbage collection metadata from native code.
Key Changes:
- Implements
GetCodeHeaderData
method with proper type safety and error handling - Adds a comprehensive GCInfo contract with decoder capabilities for AMD64, ARM64, and ARM architectures
- Extends ExecutionManager with new methods for method region info, JIT type detection, and method descriptor lookup
Reviewed Changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
SOSDacImpl.cs | Implements GetCodeHeaderData with GCInfo decoder integration and debug assertions |
ISOSDacInterface.cs | Updates interface signature and adds supporting data structures |
CachingContractRegistry.cs | Registers the new GCInfo contract factory |
GCInfo contract files | Complete GCInfo decoder implementation with platform-specific traits |
ExecutionManager files | Extends with method region info, JIT type detection, and entrypoint resolution |
Data structure files | Adds UnwindInfo, PortableEntryPoint, and related helper classes |
Comments suppressed due to low confidence (1)
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/GCInfo/PlatformTraits/IGCInfoTraits.cs:1
- Corrected spelling of 'ENCBACE' to 'ENCBASE'.
// Licensed to the .NET Foundation under one or more agreements.
...ed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/GCInfo/GCInfoDecoder.cs
Outdated
Show resolved
Hide resolved
....Diagnostics.DataContractReader.Contracts/Contracts/GCInfo/PlatformTraits/ARMGCInfoTraits.cs
Outdated
Show resolved
Hide resolved
...iagnostics.DataContractReader.Contracts/Contracts/GCInfo/PlatformTraits/ARM64GCInfoTraits.cs
Outdated
Show resolved
Hide resolved
...iagnostics.DataContractReader.Contracts/Contracts/GCInfo/PlatformTraits/AMD64GCInfoTraits.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
Copilot reviewed 29 out of 29 changed files in this pull request and generated 2 comments.
fork of #119609 with GCInfo decoder