[cDAC] Delete GetAssemblyInfo#127481
Open
rcj1 wants to merge 2 commits intodotnet:mainfrom
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes the IDacDbiInterface::GetAssemblyInfo API from the DAC/DBI surface area (IDL, native interface headers/impl, and managed legacy interop), and simplifies the right-side (RS) debugger code paths that previously depended on that API by assuming a single CordbAppDomain via CordbProcess::GetAppDomain().
Changes:
- Deleted
GetAssemblyInfofrom theIDacDbiInterfacecontract (IDL + native headers + DAC implementation) and from the managed legacy cDAC DBI interop surface. - Removed
CordbProcess::LookupOrCreateAppDomain(...)and updated call sites to useCordbProcess::GetAppDomain()directly. - Updated RS module/value/stackwalk/thread event paths to stop plumbing per-event/per-frame AppDomain tokens and instead use the single cached AppDomain.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/Dbi/IDacDbiInterface.cs | Removes the managed COM interop entry for GetAssemblyInfo. |
| src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/Dbi/DacDbiImpl.cs | Removes the fallback wrapper implementation for GetAssemblyInfo. |
| src/coreclr/inc/dacdbi.idl | Removes GetAssemblyInfo from the IDL contract for IDacDbiInterface. |
| src/coreclr/debug/inc/dacdbiinterface.h | Removes the native interface method declaration for GetAssemblyInfo. |
| src/coreclr/debug/di/rsthread.cpp | Uses GetAppDomain() instead of per-frame AppDomain token lookup when creating internal frames. |
| src/coreclr/debug/di/rsstackwalk.cpp | Uses GetAppDomain() instead of vmCurrentAppDomainToken when creating stack frames. |
| src/coreclr/debug/di/rspriv.h | Removes the LookupOrCreateAppDomain(...) declaration from CordbProcess. |
| src/coreclr/debug/di/process.cpp | Removes LookupOrCreateAppDomain(...), routes callers through GetAppDomain(), and inlines lazy AppDomain creation into GetAppDomain(). |
| src/coreclr/debug/di/module.cpp | Removes dependency on GetAssemblyInfo for module construction; uses GetAppDomain() and directly caches the passed assembly token. |
| src/coreclr/debug/di/divalue.cpp | Uses GetAppDomain() rather than a per-frame/per-object AppDomain token in a couple of RS value paths. |
| src/coreclr/debug/daccess/dacdbiimpl.h | Removes GetAssemblyInfo from the DAC-side implementation class declaration. |
| src/coreclr/debug/daccess/dacdbiimpl.cpp | Removes the DAC-side implementation of GetAssemblyInfo. |
Contributor
|
Tagging subscribers to this area: @steveisok, @tommcdon, @dotnet/dotnet-diag |
jkotas
approved these changes
Apr 28, 2026
This was referenced Apr 28, 2026
Open
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Delete the DacDbi API GetAssemblyInfo