JIT: Runtime async should consider `out` arguments to be full definitions
Open
area-CodeGen-coreclr
runtime-async
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Description
There are several hot places in ASP.NET where runtime async captures state unnecessarily because it does not realize that an `out` argument is a full definition. One example is `awaitable` in the following loop: https://github.com/dotnet/aspnetcore/blob/6c010a60b7aaa8297b2807681faeaa711f79c34d/src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.cs#L665-L673
We should be able to use `out` to consider these calls to fully define these locals.
Contributor guide
Assessment
This issue has not been assessed yet.