dotnet / dotnet/runtime

JIT: Runtime async should consider `out` arguments to be full definitions

Open
#133,414 3 comments 0 reactions 1 assignee Claimed by @jakobbotsch View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.