Skip to content

Fix missed case of COOP to PREEMPT transition - #131444

Merged
davidwrighton merged 3 commits into
dotnet:mainfrom
davidwrighton:Fix131435
Jul 28, 2026
Merged

Fix missed case of COOP to PREEMPT transition#131444
davidwrighton merged 3 commits into
dotnet:mainfrom
davidwrighton:Fix131435

Conversation

@davidwrighton

Copy link
Copy Markdown
Member

Fixes #131435

Note

This PR description was generated with GitHub Copilot CLI.

@azure-pipelines

Copy link
Copy Markdown
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.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

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

@janvorli janvorli left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM, thank you!

@davidwrighton

Copy link
Copy Markdown
Member Author

/azp list

@azure-pipelines

Copy link
Copy Markdown
CI/CD Pipelines for this repository:

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

This PR adjusts the CoreCLR interpreter’s delegate-invoke slow path to ensure the COOP→PREEMPT transition happens before calling APIs that may require preemptive mode (notably via GetMultiCallableAddrOfCodeMethodDesc::GetTemporaryEntryPoint).

Changes:

  • Introduces InvokeDelegateInvokeMethodHelper to wrap GetMultiCallableAddrOfCode(...) + stub update under GCX_PREEMP().
  • Updates InvokeDelegateInvokeMethod to use the helper when the cached call stub template is missing.

Comment thread src/coreclr/vm/interpexec.cpp Outdated
Comment thread src/coreclr/vm/interpexec.cpp
Copilot AI review requested due to automatic review settings July 27, 2026 23:12
@davidwrighton

Copy link
Copy Markdown
Member Author

/azp run runtime-interpreter

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

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

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@davidwrighton

Copy link
Copy Markdown
Member Author

/ba-g This might have regressed 1 gc test, but the fundamental failure is fixed, and if the test is failing due to this fuc, it's the test that needs to be fixed.

@davidwrighton
davidwrighton merged commit e2609d5 into dotnet:main Jul 28, 2026
115 of 124 checks passed
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.

Assert failure: CONTRACT VIOLATION by MethodDesc::GetTemporaryEntryPoint

3 participants