Skip to content

Commit 9311160

Browse files
committed
Eliminate swift_task_create_f.
It's a tiny shim over `swift_task_create_common` that is rarely used. Switch all of the former callers over the common API.
1 parent 95e3883 commit 9311160

File tree

4 files changed

+15
-33
lines changed

4 files changed

+15
-33
lines changed

include/swift/Runtime/Concurrency.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,6 @@ AsyncTaskAndContext swift_task_create(
4444
const Metadata *futureResultType,
4545
void *closureEntry, HeapObject *closureContext);
4646

47-
/// Create a task object that will run the given function.
48-
SWIFT_EXPORT_FROM(swift_Concurrency) SWIFT_CC(swift)
49-
AsyncTaskAndContext swift_task_create_f(
50-
size_t flags,
51-
TaskOptionRecord *options,
52-
const Metadata *futureResultType,
53-
ThinNullaryAsyncSignature::FunctionType *function,
54-
size_t initialContextSize);
55-
5647
/// Caution: not all future-initializing functions actually throw, so
5748
/// this signature may be incorrect.
5849
using FutureAsyncSignature =

stdlib/public/Concurrency/Task.cpp

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -672,18 +672,6 @@ AsyncTaskAndContext swift::swift_task_create(
672672
initialContextSize);
673673
}
674674

675-
AsyncTaskAndContext
676-
swift::swift_task_create_f(
677-
size_t flags,
678-
TaskOptionRecord *options,
679-
const Metadata *futureResultType,
680-
ThinNullaryAsyncSignature::FunctionType *function,
681-
size_t initialContextSize) {
682-
return swift_task_create_common(
683-
flags, options, futureResultType,
684-
function, /*closureContext=*/nullptr, initialContextSize);
685-
}
686-
687675
SWIFT_CC(swiftasync)
688676
static void swift_task_future_waitImpl(
689677
OpaqueValue *result,
@@ -857,12 +845,13 @@ void swift::swift_task_runAndBlockThread(const void *function,
857845
// Set up a task that runs the runAndBlock async function above.
858846
auto flags = TaskCreateFlags();
859847
flags.setPriority(JobPriority::Default);
860-
auto pair = swift_task_create_f(
848+
auto pair = swift_task_create_common(
861849
flags.getOpaqueValue(),
862850
/*options=*/nullptr,
863851
/*futureResultType=*/nullptr,
864852
reinterpret_cast<ThinNullaryAsyncSignature::FunctionType *>(
865853
&runAndBlock_start),
854+
nullptr,
866855
sizeof(RunAndBlockContext));
867856
auto context = static_cast<RunAndBlockContext*>(pair.InitialContext);
868857
context->Function = function;

unittests/runtime/Actor.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,12 @@ createTaskWithContext(JobPriority priority, Fn &&fn) {
142142
TaskContinuationFromLambda<Fn, Context>::get(std::move(fn));
143143
TaskCreateFlags flags;
144144
flags.setPriority(priority);
145-
auto pair = swift_task_create_f(flags.getOpaqueValue(),
146-
nullptr,
147-
nullptr,
148-
invoke,
149-
sizeof(Context));
145+
auto pair = swift_task_create_common(flags.getOpaqueValue(),
146+
nullptr,
147+
nullptr,
148+
invoke,
149+
nullptr,
150+
sizeof(Context));
150151
return std::make_pair(pair.Task,
151152
static_cast<Context*>(pair.InitialContext));
152153
}

unittests/runtime/TaskStatus.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,13 @@ static void withSimpleTask(TaskCreateFlags flags, T &&value,
5656
undeduced<InvokeFunctionRef<T>> invokeFn,
5757
BodyFunctionRef body) {
5858
auto taskAndContext =
59-
swift_task_create_f(flags.getOpaqueValue(),
60-
nullptr,
61-
nullptr,
62-
reinterpret_cast<TaskContinuationFunction *>(
63-
&simpleTaskInvokeFunction<T>),
64-
sizeof(ValueContext<T>));
59+
swift_task_create_common(flags.getOpaqueValue(),
60+
nullptr,
61+
nullptr,
62+
reinterpret_cast<TaskContinuationFunction *>(
63+
&simpleTaskInvokeFunction<T>),
64+
nullptr,
65+
sizeof(ValueContext<T>));
6566

6667
auto valueContext =
6768
static_cast<ValueContext<T>*>(taskAndContext.InitialContext);

0 commit comments

Comments
 (0)