Skip to content

[cDAC] PR 3/5: ArgIterator port from crossgen2#10

Draft
max-charlamb wants to merge 3 commits intocdac-stackrefs-pr2from
cdac-stackrefs-pr3
Draft

[cDAC] PR 3/5: ArgIterator port from crossgen2#10
max-charlamb wants to merge 3 commits intocdac-stackrefs-pr2from
cdac-stackrefs-pr3

Conversation

@max-charlamb
Copy link
Copy Markdown
Owner

Part 3 of 5. Ports ArgIterator for correct per-architecture argument placement.

Note

This PR was created with AI assistance from Copilot.

Max Charlamb and others added 3 commits April 24, 2026 12:18
Implement GC reference scanning for stub/transition frames and fix
stack walker state machine bugs:

- PromoteCallerStack/PromoteCallerStackUsingGCRefMap for transition frames
- GCRefMap decoder for ReadyToRun import section resolution
- FindGCRefMap with FindReadyToRunModule fallback
- SOSDacImpl.GetStackReferences using cDAC contract
- Fix IsFirst preserved for skipped frames
- Fix skipped frame handling moved to UpdateState
- GCInfoDecoder goto removal (ReportUntrackedAndSucceed local function)
- RequiresInstArg, IsAsyncMethod, HasRetBuffArg on IRuntimeTypeSystem
- ExceptionInfo ClauseForCatch fields for catch handler detection
- Data descriptor additions for frame types and TransitionBlock layout

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Custom signature decoder handling runtime-internal type codes
(ELEMENT_TYPE_INTERNAL 0x21, ELEMENT_TYPE_CMOD_INTERNAL 0x22) which
SRM's SignatureDecoder cannot parse. Replaces SRM in PromoteCallerStack.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Port crossgen2's ArgIterator and TransitionBlock into the cDAC for
correct per-architecture argument placement in PromoteCallerStack.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@max-charlamb max-charlamb force-pushed the cdac-stackrefs-pr2 branch from e55be4d to 6083571 Compare May 1, 2026 04:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant