Skip to content

Conversation

@jtschuster
Copy link
Member

Updates the definition of CORINFO_ASYNC_INFO to match CoreCLRs definition, and adds an implementation for the getAsyncInfo jit callback in ReadyToRun.

Copy link
Contributor

Copilot AI left a comment

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 implements the getAsyncInfo callback in the ILCompiler's JIT interface to support async method compilation in ReadyToRun scenarios. The implementation aligns with CoreCLR's definition by expanding the CORINFO_ASYNC_INFO structure and providing concrete field and method handle lookups.

Key Changes:

  • Extended CORINFO_ASYNC_INFO structure with additional fields for async state management
  • Implemented the getAsyncInfo method to populate async continuation and context management handles
  • Added support for execution context capture/restore operations in async workflows

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/coreclr/tools/Common/JitInterface/CorInfoTypes.cs Extended CORINFO_ASYNC_INFO structure with new fields for Resume, State, Flags, execution context methods, and continuation context handling
src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs Implemented getAsyncInfo method to populate async info structure with handles for Continuation class fields and AsyncHelpers methods

@jkotas
Copy link
Member

jkotas commented Oct 18, 2025

This will change a bit after #120411

cc @jakobbotsch

@VSadov
Copy link
Member

VSadov commented Oct 18, 2025

Yes, the shape of the info will change with "flat continuations".

@jakobbotsch
Copy link
Member

I merged #120411 so as pointed out above the shape of CORINFO_ASYNC_INFO changed a bit.

Copy link
Member

@jakobbotsch jakobbotsch left a comment

Choose a reason for hiding this comment

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

Needs to be adapted to #120411

@jkotas jkotas enabled auto-merge (squash) October 20, 2025 23:26
@jkotas jkotas merged commit e5ae1f6 into dotnet:main Oct 21, 2025
93 of 95 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.

5 participants