-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Implement getAsyncInfo in ILCompiler #120859
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this 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_INFOstructure with additional fields for async state management - Implemented the
getAsyncInfomethod 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 |
Co-authored-by: Copilot <[email protected]>
|
This will change a bit after #120411 cc @jakobbotsch |
|
Yes, the shape of the info will change with "flat continuations". |
|
I merged #120411 so as pointed out above the shape of |
There was a problem hiding this 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
Updates the definition of CORINFO_ASYNC_INFO to match CoreCLRs definition, and adds an implementation for the
getAsyncInfojit callback in ReadyToRun.