Skip to content

[cDAC] Add the last two location types to DebugVarInfo cDAC representation#130909

Merged
rcj1 merged 1 commit into
dotnet:mainfrom
rcj1:fix-varloc-bug
Jul 17, 2026
Merged

[cDAC] Add the last two location types to DebugVarInfo cDAC representation#130909
rcj1 merged 1 commit into
dotnet:mainfrom
rcj1:fix-varloc-bug

Conversation

@rcj1

@rcj1 rcj1 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Found during testing of floating point contexts.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 4 pipeline(s).
10 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Extends cDAC’s DebugInfo variable-location support to represent and round-trip the remaining two VarLocType cases (VLT_FPSTK and VLT_FIXED_VA) by adding corresponding DebugVarLocKind values and DebugVarInfo fields, with updated docs and unit tests.

Changes:

  • Add FloatingPointStack / FixedVarArg to DebugVarLocKind and carry their payloads via DebugVarInfo.
  • Decode VLT_FPSTK and VLT_FIXED_VA into the new DebugVarInfo representation and map them through DacDbiImpl.ConvertToVarLoc.
  • Add unit tests covering the new mappings and decoding behavior; update the DebugInfo contract spec.
Show a summary per file
File Description
src/native/managed/cdac/tests/UnitTests/DacDbiImplTests.cs Adds unit tests for FP stack + fixed vararg VarLoc decoding and VarLoc mapping.
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/Dbi/DacDbiImpl.NativeCodeInfo.cs Extends VarLoc conversion and debug-only equality validation to handle VLT_FPSTK / VLT_FIXED_VA.
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/DebugInfo/DebugInfoHelpers.cs Decodes VLT_FPSTK / VLT_FIXED_VA into new DebugVarInfo kinds instead of consuming-and-dropping.
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Abstractions/Contracts/IDebugInfo.cs Adds new public enum values and new public DebugVarInfo fields to represent those location types.
docs/design/datacontracts/DebugInfo.md Updates the DebugInfo contract spec to include the new enum members and fields.

Copilot's findings

  • Files reviewed: 5/5 changed files
  • Comments generated: 1

@rcj1

rcj1 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor Author

/ba-g build analysis is stuck

@rcj1
rcj1 merged commit 509acfd into dotnet:main Jul 17, 2026
60 checks passed
@rcj1
rcj1 deleted the fix-varloc-bug branch July 17, 2026 00:16
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 11.0-preview7 milestone Jul 17, 2026
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