mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2025-07-06 07:44:57 +03:00
Mayaqua: ability to toggle memory tracking at runtime, various logic improvements
This commit is contained in:
@ -972,10 +972,6 @@ SK *NewSkEx(bool no_compact)
|
||||
s->p = Malloc(sizeof(void *) * s->num_reserved);
|
||||
s->no_compact = no_compact;
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackNewObj(POINTER_TO_UINT64(s), "SK", 0);
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
|
||||
// KS
|
||||
KS_INC(KS_NEWSK_COUNT);
|
||||
|
||||
@ -1011,10 +1007,6 @@ void CleanupSk(SK *s)
|
||||
DeleteLock(s->lock);
|
||||
Free(s);
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackDeleteObj(POINTER_TO_UINT64(s));
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
|
||||
// KS
|
||||
KS_INC(KS_FREESK_COUNT);
|
||||
}
|
||||
@ -1278,10 +1270,6 @@ void CleanupQueue(QUEUE *q)
|
||||
DeleteLock(q->lock);
|
||||
Free(q);
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackDeleteObj(POINTER_TO_UINT64(q));
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
|
||||
// KS
|
||||
KS_INC(KS_FREEQUEUE_COUNT);
|
||||
}
|
||||
@ -1297,10 +1285,6 @@ QUEUE *NewQueue()
|
||||
q->num_item = 0;
|
||||
q->fifo = NewFifo();
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackNewObj(POINTER_TO_UINT64(q), "QUEUE", 0);
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
|
||||
// KS
|
||||
KS_INC(KS_NEWQUEUE_COUNT);
|
||||
|
||||
@ -1316,10 +1300,6 @@ QUEUE *NewQueueFast()
|
||||
q->num_item = 0;
|
||||
q->fifo = NewFifoFast();
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackNewObj(POINTER_TO_UINT64(q), "QUEUE", 0);
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
|
||||
// KS
|
||||
KS_INC(KS_NEWQUEUE_COUNT);
|
||||
|
||||
@ -1783,10 +1763,6 @@ void CleanupList(LIST *o)
|
||||
|
||||
// KS
|
||||
KS_INC(KS_FREELIST_COUNT);
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackDeleteObj(POINTER_TO_UINT64(o));
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
}
|
||||
|
||||
// Check whether the specified number is already in the list
|
||||
@ -2145,10 +2121,6 @@ LIST *NewListEx2(COMPARE *cmp, bool fast, bool fast_malloc)
|
||||
o->cmp = cmp;
|
||||
o->sorted = true;
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackNewObj(POINTER_TO_UINT64(o), "LIST", 0);
|
||||
#endif //DONT_USE_KERNEL_STATUS
|
||||
|
||||
// KS
|
||||
KS_INC(KS_NEWLIST_COUNT);
|
||||
|
||||
@ -2422,10 +2394,6 @@ void CleanupFifo(FIFO *f)
|
||||
Free(f->p);
|
||||
Free(f);
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackDeleteObj(POINTER_TO_UINT64(f));
|
||||
#endif //DONT_USE_KERNEL_STATUS
|
||||
|
||||
// KS
|
||||
KS_INC(KS_FREEFIFO_COUNT);
|
||||
}
|
||||
@ -2472,10 +2440,6 @@ FIFO *NewFifoEx2(bool fast, bool fixed)
|
||||
f->p = Malloc(FIFO_INIT_MEM_SIZE);
|
||||
f->fixed = false;
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackNewObj(POINTER_TO_UINT64(f), "FIFO", 0);
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
|
||||
// KS
|
||||
KS_INC(KS_NEWFIFO_COUNT);
|
||||
|
||||
@ -2793,10 +2757,6 @@ BUF *NewBuf()
|
||||
b->Current = 0;
|
||||
b->SizeReserved = INIT_BUF_SIZE;
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackNewObj(POINTER_TO_UINT64(b), "BUF", 0);
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
|
||||
// KS
|
||||
KS_INC(KS_NEWBUF_COUNT);
|
||||
KS_INC(KS_CURRENT_BUF_COUNT);
|
||||
@ -3241,10 +3201,6 @@ void FreeBuf(BUF *b)
|
||||
// KS
|
||||
KS_INC(KS_FREEBUF_COUNT);
|
||||
KS_DEC(KS_CURRENT_BUF_COUNT);
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
// TrackDeleteObj(POINTER_TO_UINT64(b));
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
}
|
||||
|
||||
// Compare BUFs whether two are identical
|
||||
@ -3802,7 +3758,11 @@ void Free(void *addr)
|
||||
// Check the memtag
|
||||
void CheckMemTag(MEMTAG *tag)
|
||||
{
|
||||
#ifndef DONT_CHECK_HEAP
|
||||
if (IsTrackingEnabled() == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Validate arguments
|
||||
if (tag == NULL)
|
||||
{
|
||||
@ -3815,7 +3775,6 @@ void CheckMemTag(MEMTAG *tag)
|
||||
AbortExitEx("CheckMemTag: tag->Magic != MEMTAG_MAGIC");
|
||||
return;
|
||||
}
|
||||
#endif // DONT_CHECK_HEAP
|
||||
}
|
||||
|
||||
// ZeroMalloc
|
||||
@ -3859,9 +3818,7 @@ void *InternalMalloc(UINT size)
|
||||
OSSleep(MEMORY_SLEEP_TIME);
|
||||
}
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
TrackNewObj(POINTER_TO_UINT64(addr), "MEM", size);
|
||||
#endif //DONT_USE_KERNEL_STATUS
|
||||
|
||||
return addr;
|
||||
}
|
||||
@ -3879,9 +3836,7 @@ void InternalFree(void *addr)
|
||||
KS_DEC(KS_CURRENT_MEM_COUNT);
|
||||
KS_INC(KS_FREE_COUNT);
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
TrackDeleteObj(POINTER_TO_UINT64(addr));
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
|
||||
// Memory release
|
||||
OSMemoryFree(addr);
|
||||
@ -3914,9 +3869,7 @@ void *InternalReAlloc(void *addr, UINT size)
|
||||
OSSleep(MEMORY_SLEEP_TIME);
|
||||
}
|
||||
|
||||
#ifndef DONT_USE_KERNEL_STATUS
|
||||
TrackChangeObjSize(POINTER_TO_UINT64(addr), size, POINTER_TO_UINT64(new_addr));
|
||||
#endif // DONT_USE_KERNEL_STATUS
|
||||
|
||||
return new_addr;
|
||||
}
|
||||
|
Reference in New Issue
Block a user