extern "C" void wrap(free)(void *p) { void* p1 = STUB_PTR(p); if (p1) fibjs::MemPool::global().remove(p1); je_free(p1); }
extern "C" void* wrap(realloc)(void* p, size_t sz) { init_lib(); fibjs::MemPool& mp = fibjs::MemPool::global(); if (p == 0) { void* p1 = __real_malloc(FULL_SIZE(sz)); if (p1) { memset(p1, 0, STUB_SIZE); mp.add(p1, sz); } return MEM_PTR(p1); } if (sz == 0) { void* p1 = STUB_PTR(p); if (p1) mp.remove(p1); __real_free(p1); return 0; } void* p1 = STUB_PTR(p); mp.remove(p1); void* p2 = __real_realloc(p1, FULL_SIZE(sz)); if (p2) { memset(p2, 0, STUB_SIZE); mp.add(p2, sz); } else mp.add(p1); return MEM_PTR(p2); }
extern "C" void wrap(free)(void *p) { init_lib(); void* p1 = STUB_PTR(p); if (p1) fibjs::MemPool::global().remove(p1); __real_free(p1); }