Implement getAsyncInfo in ILCompiler#120859
Conversation
There was a problem hiding this comment.
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 |
jakobbotsch
left a comment
There was a problem hiding this comment.
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.