[RuntimeAsync] Move runtime async to the main repo#113976
Closed
VSadov wants to merge 221 commits intodotnet:mainfrom
Closed
[RuntimeAsync] Move runtime async to the main repo#113976VSadov wants to merge 221 commits intodotnet:mainfrom
VSadov wants to merge 221 commits intodotnet:mainfrom
Conversation
…actually write some "async" and start breaking things again
… and see if suspension works NOTE: No methods with generic parameters will work with the current implementation, generics may require a bunch of infrastructure work, separate from the async work
- Public apis for directly awaiting from async2 code - Update test case to use the new apis and now the code is lovely and simple
…ils into doc, but managed code may have the right logic :)
…ext as appropriate
make things build
…ably in the presence of Suspend operations, but other stuff seems to work. Now to rework Task generation to avoid multithreaded races
…t number of iterations, I think
remove DEFINE_METHOD for no longer existing methods
This was referenced Apr 4, 2025
This was referenced Apr 5, 2025
Member
Find and replace all instances of "async2" with "runtime async", or just "async" when it is clear that it is runtime async? |
salampro6444
approved these changes
Apr 7, 2025
Member
Author
I am considering that. The It is just a mostly mechanical change that is further on the list of things to do. |
…ants in API used in reflection,
This was referenced Apr 9, 2025
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Do not review just yet. May need some work.
A list of things to address. Some of these may be more relevant to address separately later.
Required before merge:
NativeCodeVersion/NativeCodeVersionNode/PrepareCodeConfigslot changes (not used in the end)autoinClassifyAsyncMethodSignatureCorerestoreregs_for_runtimesuspension.hILCodeStream::EmitUNBOXif it is unusedgetAsyncResumptionStubshould be debug-onlyClean ups that are potentially not necessary for this PR (but some of these may be nice-to-have before review):
CORINFO_HELP_THROWEXACTin favor of usingExceptionDispatchInfoGenTreeCall::gtIsAsyncCallwith a flag or calling convention changeget_RuntimeAsyncViaJitGeneratedStateMachinesMethodTableNative::GetLoaderAllocatorHandlein managed codeMethodTable::GetParallelMethodDesc