@_assemblyVision doesn't seem to see allocations from "partial apply forwarder for reabstraction thunk helper" #77820
Labels
bug
A deviation from expected or documented behavior. Also: expected but undesirable behavior.
triage needed
This issue needs more specific labels
Description
The
NIOThreadPool._blockingWaitForWork()
function in SwiftNIO is supposed to be@inlinable
, the desired type is this:Unfortunately, this makes the function allocate each time on its return because it creates a
partial apply forwarder for reabstraction thunk helper from @escaping @callee_guaranteed @Sendable (@unowned NIOPosix.NIOThreadPool.WorkItemState) -> () to @escaping @callee_guaranteed @Sendable (@in_guaranteed NIOPosix.NIOThreadPool.WorkItemState) -> (@out ()) at <compiler-generated>
.Therefore, the function currently doesn't have the
@inline(never)
but it should because it's a "marker function" that we want to always see in stack traces, even ones that can't properly deal with inlined functions.Anyway,
@_assemblyVision
doesn't seem to show the allocation for thepartial apply forwarder for reabstraction thunk helper
.Problematic assembly:
Reproduction
Expected behavior
Does not add a
swift_allocObject
Environment
Swift 5.9 through 6.0 on Linux and macOS
Additional information
No response
The text was updated successfully, but these errors were encountered: