-
Notifications
You must be signed in to change notification settings - Fork 10.5k
🍒[ABI][Concurrency] introduce task options, and change ABI to accept them #37996
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@swift-ci please test Linux Platform |
Build failed |
@swift-ci nominate |
@swift-ci please smoke test |
@swift-ci please test |
Build failed |
Build failed |
introduce new options parameter to all task spawning [Concurrency] ABI for asynclet start to accept options [Concurrency] fix unittest usages of changed task creation ABI [Concurrency] introduce constants for parameter indexes in ownership [Concurrency] fix test/SILOptimizer/closure_lifetime_fixup_concurrency.swift
@swift-ci please test |
Build failed |
Build failed |
@swift-ci please test |
@swift-ci please nominate |
Build failed |
Build failed |
@DougGregor pulled this into his work so does not need to be merged I think |
This is subsumed by #38076, so I'll close it out |
Explanation: ABI break to future proof the task creation ABI. Introduces
TaskOptionRecord
s so we can extend spawning tasks in the future with other options. This is important to accept in ABI like this because we can then statically pass in the "right" executor for e.g. async let or other task creations allowing us to avoid unnecessary executor hopping.Scope: Changes all Task creation APIs to accept options rather than custom made one off parameters for every type of optional thing we used to need.
Reviewed by: @DougGregor and @rjmccall in original PR
Radar/SR Issue: rdar://78931812
Risk: Medium, known/planned ABI break.
Testing: PR testing and CI on main.
Original PR: #37885