Lines Matching refs:object
292 void putToLLOCache(TLSData *tls, void *object);
370 inline void freeOwnObject(void *object);
385 inline FreeObject *findObjectToFree(const void *object) const;
386 void checkFreePrecond(const void *object) const { in checkFreePrecond()
392 MALLOC_ASSERT(isAligned(object, sizeof(size_t)), "Try to free invalid small object"); in checkFreePrecond()
398 MALLOC_ASSERT((uintptr_t)object - (uintptr_t)this >= sizeof(Block), msg); in checkFreePrecond()
400 MALLOC_ASSERT(object<=bumpPtr, msg); in checkFreePrecond()
403 MALLOC_ASSERT(isAligned(object, 8), "Try to free invalid small object"); in checkFreePrecond()
404 FreeObject *toFree = findObjectToFree(object); in checkFreePrecond()
407 && (!bumpPtr || object>bumpPtr), msg); in checkFreePrecond()
417 suppress_unused_warning(object); in checkFreePrecond()
421 size_t findObjectSize(void *object) const;
433 inline bool isProperlyPlaced(const void *object) const;
572 bool put(LargeMemoryBlock *object, ExtMemoryPool *extMemPool);
735 bool isLargeObject(void *object);
737 static void internalFree(void *object);
739 static bool internalPoolFree(MemoryPool *mPool, void *object, size_t size);
1375 void Block::freeOwnObject(void *object) in freeOwnObject() argument
1392 FreeObject *objectToFree = findObjectToFree(object); in freeOwnObject()
1751 FreeObject *Block::findObjectToFree(const void *object) const in findObjectToFree()
1758 objectToFree = (FreeObject*)object; in findObjectToFree()
1761 if ( ! isAligned(object,2*fittingAlignment) ) in findObjectToFree()
1765 objectToFree = (FreeObject*)object; in findObjectToFree()
1768 objectToFree = findAllocatedObject(object); in findObjectToFree()
2158 size_t Block::findObjectSize(void *object) const in findObjectSize()
2166 return StartupBlock::msize(object); in findObjectSize()
2170 blSize - ((uintptr_t)object - (uintptr_t)findObjectToFree(object)); in findObjectSize()
2196 bool LocalLOCImpl<LOW_MARK, HIGH_MARK>::put(LargeMemoryBlock *object, ExtMemoryPool *extMemPool) in put() argument
2198 const size_t size = object->unalignedSize; in put()
2204 object->prev = nullptr; in put()
2205 object->next = localHead; in put()
2207 localHead->prev = object; in put()
2212 tail = object; in put()
2214 localHead = object; in put()
2341 void MemoryPool::putToLLOCache(TLSData *tls, void *object) in putToLLOCache() argument
2343 LargeObjectHdr *header = (LargeObjectHdr*)object - 1; in putToLLOCache()
2456 inline bool Block::isProperlyPlaced(const void *object) const in isProperlyPlaced()
2458 return 0 == ((uintptr_t)this + slabSize - (uintptr_t)object) % objectSize; in isProperlyPlaced()
2495 bool isLargeObject(void *object) in isLargeObject() argument
2497 if (!isAligned(object, largeObjectAlignment)) in isLargeObject()
2499 LargeObjectHdr *header = (LargeObjectHdr*)object - 1; in isLargeObject()
2530 static inline void freeSmallObject(void *object) in freeSmallObject() argument
2533 Block *block = (Block *)alignDown(object, slabSize); in freeSmallObject()
2534 block->checkFreePrecond(object); in freeSmallObject()
2538 ((StartupBlock *)block)->free(object); in freeSmallObject()
2543 block->freeOwnObject(object); in freeSmallObject()
2545 FreeObject *objectToFree = block->findObjectToFree(object); in freeSmallObject()
2632 static bool internalPoolFree(MemoryPool *memPool, void *object, size_t size) in internalPoolFree() argument
2634 if (!memPool || !object) return false; in internalPoolFree()
2639 MALLOC_ASSERT(memPool->extMemPool.userPool() || isRecognized(object), in internalPoolFree()
2642 if (size >= minLargeObjectSize || isLargeObject<ourMem>(object)) in internalPoolFree()
2643 memPool->putToLLOCache(memPool->getTLS(/*create=*/false), object); in internalPoolFree()
2645 freeSmallObject(object); in internalPoolFree()
2666 static void internalFree(void *object) in internalFree() argument
2668 internalPoolFree(defaultMemPool, object, 0); in internalFree()
2758 void *pool_realloc(rml::MemoryPool* mPool, void *object, size_t size) in pool_realloc() argument
2760 if (!object) in pool_realloc()
2763 internalPoolFree((rml::internal::MemoryPool*)mPool, object, 0); in pool_realloc()
2766 return reallocAligned((rml::internal::MemoryPool*)mPool, object, size, 0); in pool_realloc()
2795 bool pool_free(rml::MemoryPool *mPool, void *object) in pool_free() argument
2797 return internalPoolFree((rml::internal::MemoryPool*)mPool, object, 0); in pool_free()
2800 rml::MemoryPool *pool_identify(void *object) in pool_identify() argument
2803 if (isLargeObject<ourMem>(object)) { in pool_identify()
2804 LargeObjectHdr *header = (LargeObjectHdr*)object - 1; in pool_identify()
2807 Block *block = (Block*)alignDown(object, slabSize); in pool_identify()
2816 size_t pool_msize(rml::MemoryPool *mPool, void* object) in pool_msize() argument
2818 if (object) { in pool_msize()
2822 … MALLOC_ASSERT_EX(mPool == pool_identify(object), "Object does not belong to the specified pool"); in pool_msize()
2823 return internalMsize(object); in pool_msize()
2946 extern "C" void scalable_free(void *object) in scalable_free() argument
2948 internalFree(object); in scalable_free()
2952 extern "C" void __TBB_malloc_free_definite_size(void *object, size_t size) in __TBB_malloc_free_definite_size() argument
2954 internalPoolFree(defaultMemPool, object, size); in __TBB_malloc_free_definite_size()
2962 extern "C" TBBMALLOC_EXPORT void __TBB_malloc_safer_free(void *object, void (*original_free)(void*)) in __TBB_malloc_safer_free() argument
2964 if (!object) in __TBB_malloc_safer_free()
2968 …ized.load(std::memory_order_acquire) && defaultMemPool->extMemPool.backend.ptrCanBeValid(object)) { in __TBB_malloc_safer_free()
2969 if (isLargeObject<unknownMem>(object)) { in __TBB_malloc_safer_free()
2974 defaultMemPool->putToLLOCache(tls, object); in __TBB_malloc_safer_free()
2976 } else if (isSmallObject(object)) { in __TBB_malloc_safer_free()
2977 freeSmallObject(object); in __TBB_malloc_safer_free()
2982 original_free(object); in __TBB_malloc_safer_free()
3218 extern "C" TBBMALLOC_EXPORT size_t __TBB_malloc_safer_msize(void *object, size_t (*original_msize)(… in __TBB_malloc_safer_msize() argument
3220 if (object) { in __TBB_malloc_safer_msize()
3222 if (mallocInitialized.load(std::memory_order_acquire) && isRecognized(object)) in __TBB_malloc_safer_msize()
3223 return internalMsize(object); in __TBB_malloc_safer_msize()
3225 return original_msize(object); in __TBB_malloc_safer_msize()
3237 extern "C" TBBMALLOC_EXPORT size_t __TBB_malloc_safer_aligned_msize(void *object, size_t alignment,… in __TBB_malloc_safer_aligned_msize() argument
3239 if (object) { in __TBB_malloc_safer_aligned_msize()
3241 if (mallocInitialized.load(std::memory_order_acquire) && isRecognized(object)) in __TBB_malloc_safer_aligned_msize()
3242 return internalMsize(object); in __TBB_malloc_safer_aligned_msize()
3244 return orig_aligned_msize(object,alignment,offset); in __TBB_malloc_safer_aligned_msize()