Invoke debugger function evaluations through managed UCO - #133659
Draft
jkoritzinsky wants to merge 1 commit into
Draft
Invoke debugger function evaluations through managed UCO#133659jkoritzinsky wants to merge 1 commit into
jkoritzinsky wants to merge 1 commit into
Conversation
Complete the third layer of #123864 on the shared invocation foundation from #126542. Use rooted receiver/argument/result storage and the common managed emitter instead of native ABI packing. Preserve raw byref and nullable results, in-place receivers, register/literal semantics, exception propagation and abort recovery. Correct native-helper abort contracts and true nullable backing-box copy-back. Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: Successfully started running 3 pipeline(s). 13 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
This was referenced Sep 11, 2026
jkoritzinsky
removed this pull request from stack #133661
September 11, 2026 03:11
jkoritzinsky
added this pull request to stack #133663
September 11, 2026 03:11
Contributor
|
Tagging subscribers to this area: @agocke |
3 tasks
Member
This was referenced Sep 11, 2026
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.
Summary
Layer 3 of the stack for #123864, following #133658. This completes the func-eval portion of the split discussed on #126542.
MethodDescCallSiteinvocation with a managed UCO entrypoint and the shared invocation emitter.Validation
Used the existing MDbg/xUnit debugger-test harness with a private CoreRun and ProjectK/CoreCLR-only configuration. The frozen set contains 20 rows: 18 passed, 0 failed, and 2 pre-existing skips, with no runner errors. It includes moving GC, receiver mutation, nullable copy-back, byref results, constructors, register arguments, nested/exception-time eval, and inspection cases.
Both nullable return/read assertions produce 59. Each of the three abort scenarios completes the eval callback, calls
Echo(42), and detaches with MDbg exit 100. The cleanup-layer rerun retained all outcomes.Runtime hashes and actual loaded modules were audited. The harness binaries, selected recorder scripts, and diagnostic test patch stayed unchanged; execution used direct CoreRun/xUnit/MDbg commands and configuration data, without session-state launch scripts or expectation changes. This is Windows x64 coverage, not proof of every architecture or debugger scenario.
The final cleanup layer is #133660.
Stack created with GitHub Stacks CLI • Give Feedback 💬
Note
This PR description and implementation were prepared with GitHub Copilot. Commits that reuse am11's code retain the requested co-author attribution.