mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Clean up the TaskGroup ABI:
- stop storing the parent task in the TaskGroup at the .swift level - make sure that swift_taskGroup_isCancelled is implied by the parent task being cancelled - make the TaskGroup structs frozen - make the withTaskGroup functions inlinable - remove swift_taskGroup_create - teach IRGen to allocate memory for the task group - don't deallocate the task group in swift_taskGroup_destroy To achieve the allocation change, introduce paired create/destroy builtins. Furthermore, remove the _swiftRetain and _swiftRelease functions and several calls to them. Replace them with uses of the appropriate builtins. I should probably change the builtins to return retained, since they're working with a managed type, but I'll do that in a separate commit.
This commit is contained in:
@@ -44,5 +44,6 @@ LANGUAGE_FEATURE(GlobalActors, 0, "Global actors", langOpts.EnableExperimentalCo
|
||||
LANGUAGE_FEATURE(BuiltinJob, 0, "Builtin.Job type", true)
|
||||
LANGUAGE_FEATURE(Sendable, 0, "Sendable and @Sendable", true)
|
||||
LANGUAGE_FEATURE(BuiltinContinuation, 0, "Continuation builtins", true)
|
||||
LANGUAGE_FEATURE(BuiltinTaskGroup, 0, "TaskGroup builtins", true)
|
||||
|
||||
#undef LANGUAGE_FEATURE
|
||||
|
||||
Reference in New Issue
Block a user