1
1
/*
2
- * Copyright (c) 2017, Intel Corporation
2
+ * Copyright (c) 2017 - 2018 , Intel Corporation
3
3
*
4
4
* Permission is hereby granted, free of charge, to any person obtaining a
5
5
* copy of this software and associated documentation files (the "Software"),
26
26
27
27
using namespace OCLRT ;
28
28
29
- std::map<void *, FragmentStorage>::iterator OCLRT::HostPtrManager::findElement (void *ptr) {
29
+ std::map<const void *, FragmentStorage>::iterator OCLRT::HostPtrManager::findElement (const void *ptr) {
30
30
auto nextElement = partialAllocations.lower_bound (ptr);
31
31
auto element = nextElement;
32
32
if (element != partialAllocations.end ()) {
@@ -155,7 +155,7 @@ void OCLRT::HostPtrManager::storeFragment(FragmentStorage &fragment) {
155
155
element->second .refCount ++;
156
156
} else {
157
157
fragment.refCount ++;
158
- partialAllocations.insert (std::pair<void *, FragmentStorage>(fragment.fragmentCpuPointer , fragment));
158
+ partialAllocations.insert (std::pair<const void *, FragmentStorage>(fragment.fragmentCpuPointer , fragment));
159
159
}
160
160
}
161
161
@@ -171,12 +171,12 @@ void OCLRT::HostPtrManager::storeFragment(AllocationStorageData &storageData) {
171
171
void OCLRT::HostPtrManager::releaseHandleStorage (OsHandleStorage &fragments) {
172
172
for (int i = 0 ; i < max_fragments_count; i++) {
173
173
if (fragments.fragmentStorageData [i].fragmentSize || fragments.fragmentStorageData [i].cpuPtr ) {
174
- fragments.fragmentStorageData [i].freeTheFragment = releaseHostPtr (const_cast < void *>( fragments.fragmentStorageData [i].cpuPtr ) );
174
+ fragments.fragmentStorageData [i].freeTheFragment = releaseHostPtr (fragments.fragmentStorageData [i].cpuPtr );
175
175
}
176
176
}
177
177
}
178
178
179
- bool OCLRT::HostPtrManager::releaseHostPtr (void *ptr) {
179
+ bool OCLRT::HostPtrManager::releaseHostPtr (const void *ptr) {
180
180
std::lock_guard<std::mutex> lock (allocationsMutex);
181
181
bool fragmentReadyToBeReleased = false ;
182
182
@@ -193,7 +193,7 @@ bool OCLRT::HostPtrManager::releaseHostPtr(void *ptr) {
193
193
return fragmentReadyToBeReleased;
194
194
}
195
195
196
- FragmentStorage *OCLRT::HostPtrManager::getFragment (void *inputPtr) {
196
+ FragmentStorage *OCLRT::HostPtrManager::getFragment (const void *inputPtr) {
197
197
std::lock_guard<std::mutex> lock (allocationsMutex);
198
198
auto element = findElement (inputPtr);
199
199
if (element != partialAllocations.end ()) {
0 commit comments