From 9bb6b990ec0fd7f951d06dd92b675ec20d9409c8 Mon Sep 17 00:00:00 2001 From: Jonathan Grynspan Date: Wed, 5 Nov 2025 08:58:05 -0500 Subject: [PATCH] Task doesn't like out-of-order frees, so for the sake of the POC, just use malloc/free --- stdlib/public/Concurrency/TaskStatus.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/stdlib/public/Concurrency/TaskStatus.cpp b/stdlib/public/Concurrency/TaskStatus.cpp index 5cb7ba063b8..0fd659aed42 100644 --- a/stdlib/public/Concurrency/TaskStatus.cpp +++ b/stdlib/public/Concurrency/TaskStatus.cpp @@ -1112,8 +1112,7 @@ void TaskDependencyStatusRecord::performEscalationAction( /**************************************************************************/ void AsyncTask::pushTimeSpentRunningRecord(void) { - void *allocation = _swift_task_alloc_specific( - this, sizeof(class TimeSpentRunningStatusRecord)); + void *allocation = std::malloc(sizeof(class TimeSpentRunningStatusRecord)); auto record = ::new (allocation) TimeSpentRunningStatusRecord(); addStatusRecord(this, record, @@ -1125,7 +1124,7 @@ void AsyncTask::pushTimeSpentRunningRecord(void) { void AsyncTask::popTimeSpentRunningRecord(void) { if (auto record = popStatusRecordOfType(this)) { record->~TimeSpentRunningStatusRecord(); - _swift_task_dealloc_specific(this, record); + std::free(record); } }