Lines Matching defs:ptr
131 void LinkerSmallObjectAllocator::free(void* ptr) {
132 auto page_record = find_page_record(ptr);
134 ssize_t offset = reinterpret_cast<uintptr_t>(ptr) - sizeof(page_info);
137 __libc_fatal("invalid pointer: %p (block_size=%zd)", ptr, block_size_);
140 memset(ptr, 0, block_size_);
141 small_object_block_record* block_record = reinterpret_cast<small_object_block_record*>(ptr);
164 linker_vector_t::iterator LinkerSmallObjectAllocator::find_page_record(void* ptr) {
165 void* addr = reinterpret_cast<void*>(PAGE_START(reinterpret_cast<uintptr_t>(ptr)));
173 __libc_fatal("page record for %p was not found (block_size=%zd)", ptr, block_size_);
268 page_info* LinkerMemoryAllocator::get_page_info(void* ptr) {
269 page_info* info = reinterpret_cast<page_info*>(PAGE_START(reinterpret_cast<size_t>(ptr)));
271 __libc_fatal("invalid pointer %p (page signature mismatch)", ptr);
277 void* LinkerMemoryAllocator::realloc(void* ptr, size_t size) {
278 if (ptr == nullptr) {
283 free(ptr);
287 page_info* info = get_page_info(ptr);
296 __libc_fatal("invalid pointer %p (page signature mismatch)", ptr);
304 memcpy(result, ptr, old_size);
305 free(ptr);
309 return ptr;
312 void LinkerMemoryAllocator::free(void* ptr) {
313 if (ptr == nullptr) {
317 page_info* info = get_page_info(ptr);
324 __libc_fatal("invalid pointer %p (invalid allocator address for the page)", ptr);
327 allocator->free(ptr);