VOID FreeEnter(ADDRINT startAddress, THREADID threadid) { GetLock(&memorySetLock, threadid); const MemoryArea area = findMemoryArea(startAddress); ADDRINT freeSize = area.size(); memorySet.erase(area); ReleaseLock(&memorySetLock); if (freeSize == 0) return; freeMemoryAddress(startAddress, area.to, threadid); }