void DefaultAllocator::Free(void *p) { untrackAlloc(p); OVR_ALLOC_BENCHMARK_START(); #ifdef OVR_USE_JEMALLOC je_free(p); #else // OVR_USE_JEMALLOC free(p); #endif // OVR_USE_JEMALLOC OVR_ALLOC_BENCHMARK_END(); }
void* DefaultAllocator::Realloc(void* p, size_t newSize) { void* newP = realloc(p, newSize); // This used to more efficiently check if (newp != p) but static analyzers were erroneously flagging this. if (newP) // Need to check newP because realloc doesn't free p unless it returns a valid newP. { #if !defined(__clang_analyzer__) // The analyzer complains that we are using p after it was freed. untrackAlloc(p); #endif } trackAlloc(newP, newSize); return newP; }
void DefaultAllocator::Free(void *p) { untrackAlloc(p); return free(p); }