We avoid generating calls to async variants of ComInterop functions. However, there is a versioning issue in the following situation:
- A call to an interface function is prejitted
- The interface itself gets marked as
ComInterop
- The interface call is run
In that case we end up with a call to the async variant of a ComInterop function. We currently are not able to generate that. There are a few possible fixes:
- Bring back the async thunk
- Generate an async version based on the IL from the IL stub emitted for the non-async variant
- Move these functions to transient IL plan and have an async version generated that way
- Detect the situation and throw away the R2R codegen
Context: #129747
We avoid generating calls to async variants of
ComInteropfunctions. However, there is a versioning issue in the following situation:ComInteropIn that case we end up with a call to the async variant of a
ComInteropfunction. We currently are not able to generate that. There are a few possible fixes:Context: #129747