Skip to content

Commit 286ea81

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 9b2392b commit 286ea81

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
@@ -665,18 +665,6 @@ AsyncTaskAndContext swift::swift_task_create(
665665
initialContextSize);
666666
}
667667

668-
AsyncTaskAndContext
669-
swift::swift_task_create_f(
670-
size_t flags,
671-
TaskOptionRecord *options,
672-
const Metadata *futureResultType,
673-
ThinNullaryAsyncSignature::FunctionType *function,
674-
size_t initialContextSize) {
675-
return swift_task_create_common(
676-
flags, options, futureResultType,
677-
function, /*closureContext=*/nullptr, initialContextSize);
678-
}
679-
680668
SWIFT_CC(swiftasync)
681669
static void swift_task_future_waitImpl(
682670
OpaqueValue *result,
@@ -850,12 +838,13 @@ void swift::swift_task_runAndBlockThread(const void *function,
850838
// Set up a task that runs the runAndBlock async function above.
851839
auto flags = TaskCreateFlags();
852840
flags.setPriority(JobPriority::Default);
853-
auto pair = swift_task_create_f(
841+
auto pair = swift_task_create_common(
854842
flags.getOpaqueValue(),
855843
/*options=*/nullptr,
856844
/*futureResultType=*/nullptr,
857845
reinterpret_cast<ThinNullaryAsyncSignature::FunctionType *>(
858846
&runAndBlock_start),
847+
nullptr,
859848
sizeof(RunAndBlockContext));
860849
auto context = static_cast<RunAndBlockContext*>(pair.InitialContext);
861850
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)