This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
Add Page Memory to malloc/realloc and add free logic #532
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#129
Refactored to add 64K page memory as new heaps for allocating. If new page memory is adjacent to an existing heap, then the heap is expanded to limit fragmentation of the memory.
Free logic was also added. Free memory is just tracked by using the highest bit in the ptr header. So free processing costs very little at time of calling free at the cost of searching when the freed memory is required (after 1M of memory has been allocated). Also, this implementation helps to not have reserve extra memory to maintain a separate list and the logic to manage those list (like allocating it at the end of a heap and growing backwards and preventing memory collisions).