Skip to content

[cDAC] Delete GetAssemblyInfo#127481

Open
rcj1 wants to merge 2 commits intodotnet:mainfrom
rcj1:delete-more-apis
Open

[cDAC] Delete GetAssemblyInfo#127481
rcj1 wants to merge 2 commits intodotnet:mainfrom
rcj1:delete-more-apis

Conversation

@rcj1
Copy link
Copy Markdown
Contributor

@rcj1 rcj1 commented Apr 27, 2026

Delete the DacDbi API GetAssemblyInfo

@rcj1 rcj1 requested review from barosiak, Copilot and hoyosjs April 27, 2026 23:37
@rcj1 rcj1 changed the title Delete GetAssemblyInfo [cDAC] Delete GetAssemblyInfo Apr 27, 2026
Copy link
Copy Markdown
Contributor

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 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 GetAssemblyInfo from the IDacDbiInterface contract (IDL + native headers + DAC implementation) and from the managed legacy cDAC DBI interop surface.
  • Removed CordbProcess::LookupOrCreateAppDomain(...) and updated call sites to use CordbProcess::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.

Comment thread src/coreclr/inc/dacdbi.idl
Comment thread src/coreclr/debug/inc/dacdbiinterface.h
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants