Exemple #1
0
static void bkfree(fz_memorycontext *mem, void *p) {
	AllocMapIt it = alloc_allocs.find(p);
	if (it != alloc_allocs.end()) {
		alloc_current -= (*it).second;
		alloc_allocs.erase(it);
	}
	++alloc_frees;
	free(p);
}
Exemple #2
0
void NF_delete(void* ptr)
{
	//Unless allocation tracking is disabled, remove tracked pointer
	{
		lock_guard<recursive_mutex> memoryLock(memoryMutex);
		if (!allocDisabled)
			allocMap.erase(ptr);
	}
	//Free the pointer
	free(ptr);
}
Exemple #3
0
static void *bkrealloc(fz_memorycontext *mem, void *p, int n) {
	++alloc_reallocs;
	alloc_realloc_size += n;
	alloc_large_realloc = alloc_large_realloc < n ? n : alloc_large_realloc;
	AllocMapIt it = alloc_allocs.find(p);
	if (it != alloc_allocs.end()) {
		alloc_current -= (*it).second;
		alloc_allocs.erase(it);
	}
	void* r = realloc(p, n);
	alloc_allocs[r] = n;
	alloc_current += n;
	return r;
}