Skip to content

Switch InterpreterFrame to deterministic unwinding#125182

Open
am11 wants to merge 6 commits intodotnet:mainfrom
am11:feature/deterministic-unwinding4
Open

Switch InterpreterFrame to deterministic unwinding#125182
am11 wants to merge 6 commits intodotnet:mainfrom
am11:feature/deterministic-unwinding4

Conversation

@am11
Copy link
Member

@am11 am11 commented Mar 4, 2026

No description provided.

@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Mar 4, 2026
@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @BrzVlad, @janvorli, @kg
See info in area-owners.md if you want to be subscribed.

@janvorli
Copy link
Member

janvorli commented Mar 4, 2026

I don't think this is going to work. We need to know the callee saved registers value in the InterpExecMethod function. The ones we capture in the IntepreterFrame are not necessarily related. Both the ExecuteInterpretedMethod and InterpExecMethod can modify these registers.

@am11 am11 force-pushed the feature/deterministic-unwinding4 branch from 7903973 to 508674c Compare March 4, 2026 18:48
@am11
Copy link
Member Author

am11 commented Mar 4, 2026

@janvorli, good point. The TransitionBlock values are from InterpreterStub and can be stale by the time we're in InterpExecMethod. I've reworked this to call ClrCaptureContext from within InterpExecMethod's try block instead, so we get the correct callee-saved register values and an IP that falls within the try range.

@am11 am11 force-pushed the feature/deterministic-unwinding4 branch from fde94ba to 9f2788f Compare March 5, 2026 06:27
@am11 am11 force-pushed the feature/deterministic-unwinding4 branch from 8b0852b to 64305cd Compare March 5, 2026 19:05
@am11 am11 marked this pull request as ready for review March 7, 2026 09:56
@am11 am11 requested a review from kg as a code owner March 7, 2026 09:56
@am11 am11 requested a review from janvorli March 7, 2026 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-CodeGen-Interpreter-coreclr community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants