Lines Matching defs:Size
33 /// Allocate a memory of size \p Size . \p HstPtr is used to assist the
35 virtual void *allocate(size_t Size, void *HstPtr,
73 static int findBucket(size_t Size) {
74 const size_t F = floorToPowerOfTwo(Size);
76 DP("findBucket: Size %zu is floored to %zu.\n", Size, F);
91 DP("findBucket: Size %zu goes to bucket %d\n", Size, L);
99 const size_t Size;
104 NodeTy(size_t Size, void *Ptr) : Size(Size), Ptr(Ptr) {}
110 return LHS.Size < RHS.Size;
137 void *allocateOnDevice(size_t Size, void *HstPtr) const {
138 return DeviceAllocator.allocate(Size, HstPtr, TARGET_ALLOC_DEVICE);
147 void *freeAndAllocate(size_t Size, void *HstPtr) {
171 return allocateOnDevice(Size, HstPtr);
178 void *allocateOrFreeAndAllocateOnDevice(size_t Size, void *HstPtr) {
179 void *TgtPtr = allocateOnDevice(Size, HstPtr);
185 TgtPtr = freeAndAllocate(Size, HstPtr);
214 /// Allocate memory of size \p Size from target device. \p HstPtr is used to
216 void *allocate(size_t Size, void *HstPtr) {
219 if (Size == 0)
223 Size, DPxPTR(HstPtr));
227 if (Size > SizeThreshold) {
230 Size, SizeThreshold);
231 void *TgtPtr = allocateOrFreeAndAllocateOnDevice(Size, HstPtr);
242 const int B = findBucket(Size);
245 NodeTy TempNode(Size, nullptr);
263 void *TgtPtr = allocateOrFreeAndAllocateOnDevice(Size, HstPtr);
271 auto Itr = PtrToNodeTable.emplace(TgtPtr, NodeTy(Size, TgtPtr));
276 DPxPTR(NodePtr), DPxPTR(TgtPtr), Size);
308 const int B = findBucket(P->Size);