diff --git a/include/swift/ABI/MetadataValues.h b/include/swift/ABI/MetadataValues.h index 803339e6aff..b9d55c9ad29 100644 --- a/include/swift/ABI/MetadataValues.h +++ b/include/swift/ABI/MetadataValues.h @@ -1745,7 +1745,7 @@ namespace SpecialPointerAuthDiscriminators { const uint16_t AsyncContextParent = 0xbda2; // = 48546 const uint16_t AsyncContextResume = 0xd707; // = 55047 const uint16_t AsyncContextYield = 0xe207; // = 57863 - const uint16_t CancellationNotificationFunction = 0xf73; // = 3955 (TaskPriority, TaskPriority) -> Void + const uint16_t CancellationNotificationFunction = 0x0f08; // = 3848 const uint16_t EscalationNotificationFunction = 0x7861; // = 30817 const uint16_t AsyncThinNullaryFunction = 0x0f08; // = 3848 const uint16_t AsyncFutureFunction = 0x720f; // = 29199 diff --git a/include/swift/ABI/TaskStatus.h b/include/swift/ABI/TaskStatus.h index 2d5a3daf5e2..56718978e82 100644 --- a/include/swift/ABI/TaskStatus.h +++ b/include/swift/ABI/TaskStatus.h @@ -269,7 +269,7 @@ public: /// subsequently used. class EscalationNotificationStatusRecord : public TaskStatusRecord { public: - using FunctionType = SWIFT_CC(swift) void(JobPriority, JobPriority, SWIFT_CONTEXT void *); + using FunctionType = SWIFT_CC(swift) void(uint8_t, uint8_t, SWIFT_CONTEXT void *); private: FunctionType *__ptrauth_swift_escalation_notification_function Function; @@ -282,7 +282,10 @@ public: } void run(JobPriority oldPriority, JobPriority newPriority) { - Function(oldPriority, newPriority, Argument); + Function( + static_cast(oldPriority), + static_cast(newPriority), + Argument); } static bool classof(const TaskStatusRecord *record) { diff --git a/stdlib/public/Concurrency/Task.cpp b/stdlib/public/Concurrency/Task.cpp index 8b9f084fae8..94657c9ff79 100644 --- a/stdlib/public/Concurrency/Task.cpp +++ b/stdlib/public/Concurrency/Task.cpp @@ -1817,7 +1817,7 @@ swift_task_addPriorityEscalationHandlerImpl( void *context) { void *allocation = swift_task_alloc(sizeof(EscalationNotificationStatusRecord)); - auto unsigned_handler = swift_auth_code(handler, 3955); + auto unsigned_handler = swift_auth_code(handler, 30817); auto *record = ::new (allocation) EscalationNotificationStatusRecord(unsigned_handler, context);