@@ -386,11 +386,12 @@ static void task_wait_throwing_resume_adapter(SWIFT_ASYNC_CONTEXT AsyncContext *
386386// / Also, async-let tasks are not heap allcoated, but allcoated with the parent
387387// / task's stack allocator.
388388static AsyncTaskAndContext swift_task_create_group_future_commonImpl (
389- JobFlags flags , TaskGroup *group,
389+ size_t rawFlags , TaskGroup *group,
390390 const Metadata *futureResultType,
391391 FutureAsyncSignature::FunctionType *function,
392392 void *closureContext, bool isAsyncLetTask,
393393 size_t initialContextSize) {
394+ JobFlags flags (rawFlags);
394395 assert ((futureResultType != nullptr ) == flags.task_isFuture ());
395396 assert (!flags.task_isFuture () ||
396397 initialContextSize >= sizeof (FutureAsyncContext));
@@ -568,32 +569,32 @@ static AsyncTaskAndContext swift_task_create_group_future_commonImpl(
568569}
569570
570571static AsyncTaskAndContext swift_task_create_group_future_common (
571- JobFlags flags, TaskGroup *group, const Metadata *futureResultType,
572+ size_t flags, TaskGroup *group, const Metadata *futureResultType,
572573 FutureAsyncSignature::FunctionType *function,
573574 void *closureContext, bool isAsyncLetTask,
574575 size_t initialContextSize);
575576
576577AsyncTaskAndContext
577- swift::swift_task_create_f (JobFlags flags,
578+ swift::swift_task_create_f (size_t flags,
578579 ThinNullaryAsyncSignature::FunctionType *function,
579580 size_t initialContextSize) {
580581 return swift_task_create_future_f (
581582 flags, nullptr , function, initialContextSize);
582583}
583584
584585AsyncTaskAndContext swift::swift_task_create_future_f (
585- JobFlags flags,
586+ size_t flags,
586587 const Metadata *futureResultType,
587588 FutureAsyncSignature::FunctionType *function, size_t initialContextSize) {
588- assert (!flags.task_isGroupChildTask () &&
589+ assert (!JobFlags ( flags) .task_isGroupChildTask () &&
589590 " use swift_task_create_group_future_f to initialize task group child tasks" );
590591 return swift_task_create_group_future_f (
591592 flags, /* group=*/ nullptr , futureResultType,
592593 function, initialContextSize);
593594}
594595
595596AsyncTaskAndContext swift::swift_task_create_group_future_f (
596- JobFlags flags, TaskGroup *group,
597+ size_t flags, TaskGroup *group,
597598 const Metadata *futureResultType,
598599 FutureAsyncSignature::FunctionType *function,
599600 size_t initialContextSize) {
@@ -621,7 +622,7 @@ getAsyncClosureEntryPointAndContextSize(void *function,
621622 fnPtr->ExpectedContextSize };
622623}
623624
624- AsyncTaskAndContext swift::swift_task_create_future (JobFlags flags,
625+ AsyncTaskAndContext swift::swift_task_create_future (size_t flags,
625626 const Metadata *futureResultType,
626627 void *closureEntry,
627628 HeapObject * /* +1 */ closureContext) {
@@ -640,7 +641,7 @@ AsyncTaskAndContext swift::swift_task_create_future(JobFlags flags,
640641 initialContextSize);
641642}
642643
643- AsyncTaskAndContext swift::swift_task_create_async_let_future (JobFlags flags,
644+ AsyncTaskAndContext swift::swift_task_create_async_let_future (size_t flags,
644645 const Metadata *futureResultType,
645646 void *closureEntry,
646647 void *closureContext) {
@@ -661,7 +662,7 @@ AsyncTaskAndContext swift::swift_task_create_async_let_future(JobFlags flags,
661662
662663AsyncTaskAndContext
663664swift::swift_task_create_group_future (
664- JobFlags flags, TaskGroup *group,
665+ size_t flags, TaskGroup *group,
665666 const Metadata *futureResultType,
666667 void *closureEntry,
667668 HeapObject * /* +1*/ closureContext) {
@@ -853,7 +854,7 @@ void swift::swift_task_runAndBlockThread(const void *function,
853854 // Set up a task that runs the runAndBlock async function above.
854855 auto flags = JobFlags (JobKind::Task, JobPriority::Default);
855856 auto pair = swift_task_create_f (
856- flags,
857+ flags. getOpaqueValue () ,
857858 reinterpret_cast <ThinNullaryAsyncSignature::FunctionType *>(
858859 &runAndBlock_start),
859860 sizeof (RunAndBlockContext));
0 commit comments