99// ===----------------------------------------------------------------------===//
1010
1111#include " enqueued_pool.hpp"
12- #include " event.hpp"
1312
1413#include < ur_api.h>
1514
1615EnqueuedPool::~EnqueuedPool () { cleanup (); }
1716
1817std::optional<EnqueuedPool::Allocation>
19- EnqueuedPool::getBestFit (size_t Size, size_t Alignment,
20- ur_queue_handle_t Queue) {
18+ EnqueuedPool::getBestFit (size_t Size, size_t Alignment, void *Queue) {
2119 auto Lock = std::lock_guard (Mutex);
2220
2321 Allocation Alloc = {nullptr , Size, nullptr , Queue, Alignment};
@@ -47,12 +45,11 @@ EnqueuedPool::getBestFit(size_t Size, size_t Alignment,
4745}
4846
4947void EnqueuedPool::insert (void *Ptr, size_t Size, ur_event_handle_t Event,
50- ur_queue_handle_t Queue) {
48+ void * Queue) {
5149 auto Lock = std::lock_guard (Mutex);
5250
5351 uintptr_t Address = (uintptr_t )Ptr;
5452 size_t Alignment = Address & (~Address + 1 );
55- Event->RefCount .increment ();
5653
5754 Freelist.emplace (Allocation{Ptr, Size, Event, Queue, Alignment});
5855}
@@ -67,14 +64,15 @@ bool EnqueuedPool::cleanup() {
6764 auto umfRet [[maybe_unused]] = umfPoolFree (hPool, It.Ptr );
6865 assert (umfRet == UMF_RESULT_SUCCESS);
6966
70- urEventReleaseInternal (It.Event );
67+ if (It.Event )
68+ eventRelease (It.Event );
7169 }
7270 Freelist.clear ();
7371
7472 return FreedAllocations;
7573}
7674
77- bool EnqueuedPool::cleanupForQueue (ur_queue_handle_t Queue) {
75+ bool EnqueuedPool::cleanupForQueue (void * Queue) {
7876 auto Lock = std::lock_guard (Mutex);
7977
8078 Allocation Alloc = {nullptr , 0 , nullptr , Queue, 0 };
@@ -90,7 +88,8 @@ bool EnqueuedPool::cleanupForQueue(ur_queue_handle_t Queue) {
9088 auto umfRet [[maybe_unused]] = umfPoolFree (hPool, It->Ptr );
9189 assert (umfRet == UMF_RESULT_SUCCESS);
9290
93- urEventReleaseInternal (It->Event );
91+ if (It->Event )
92+ eventRelease (It->Event );
9493
9594 // Erase the current allocation and move to the next one
9695 It = Freelist.erase (It);
0 commit comments