summaryrefslogtreecommitdiffhomepage
path: root/src/rmem.h
AgeCommit message (Collapse)Author
2020-12-23Remove trailing spacesraysan5
2020-04-22Mempool and other Allocators Optimization (#1211)Kevin Yonan
Optimizations of allocators. Renamed 'Stack' to 'Arena'. Replaced certain define constants with an anonymous enum. Refactored MemPool to no longer require active or deferred defragging.
2020-02-06Minor format tweaksRay
2020-02-03Remove all trail spacesRay
2019-11-22Adding double ended stack & Mempool Reset function (#1021)Kevin Yonan
2019-10-17Remove trailing spacesRay
2019-08-08Removing '__RemoveNode' (#935)Kevin Yonan
Replaced '__RemoveNode' as it was causing invalid memory accesses with regular doubly linked list deletion algorithm. Replaced double pointer iterator in 'MemPoolAlloc' with single pointer iterator. Fixed undefined variables errors in 'MemPoolFree' for the freelist bucket.
2019-07-31End of July rmem Update (#923)Kevin Yonan
Object Pool Changes: -- changed 'size' member name of 'union ObjInfo' to 'index' to better name its purpose. Memory Pool Changes: -- Added memory node buckets to store and allocate smaller, more frequent byte sizes. -- Replaced 'memset' call to deinitialize free list data with NULL and 0 assignments. -- Removed some no-longer-needed commented-out code. -- Changed insertion sort code to put the largest size at the tail rather than the head. -- Made certain pointer variables as constant pointers.
2019-07-28Patched potential bug when defragging. (#920)Kevin Yonan
* Patched potential bug when defragging. Patched a potential bug concerning the '__RemoveNode' function as, when removing certain nodes that are either at the head or tail, it can yield a free list node of size 0 bug as the previous node was removed and its size was set to 0 but not fully removed from the other nodes. * A few more potential bug patches.
2019-07-22Increasing threshold size for traversing memory blocks (#914)Kevin Yonan
L235 - Increased the memory threshold size so that we can further reduce fragmentation by allocating memory blocks that is close to the requested size by 16 bytes.
2019-07-15Review rmem functions naming and coding conventionsraysan5
2019-07-15Submitting rmem memory and object pool module (#898)Kevin Yonan
* Submitting rmem memory and object pool module * changed 'restrict' to '__restrict' so it can compile for MSVC Added `const` to parameters for `MemPool_Realloc` * Update and rename mempool README.txt to mempool_README.md * Update mempool_README.md * Update mempool_README.md * Update and rename objpool README.txt to objpool_README.md * implementing changes * updating header for changes. * forgot to change _RemoveNode to __RemoveNode * removing l * removing l * Updating documentation on MemPool_CleanUp function * Updating documentation on ObjPool_CleanUp function * changed *_CleanUp function parameter Replaced `void*` pointer to pointer param to `void**` so it's more explicit. * Updating header to reflect changes to the *_CleanUp functions * A single change for the mempool and a patch for the objpool. Object Pool Patch: if you deplete the object pool to 0 free blocks and then free back one block, the last given block will be rejected because it was exactly at the memory holding the entire pool. Mempool change: switched memory aligning the size from the constructor to when allocating.