Andreas Kling
|
b4e7925e31
|
LibC: Move full ChunkedBlocks to a separate list in the allocator.
This way we only check actually usable blocks when trying to satisfy a new
allocation request.
|
2019-05-02 17:06:05 +02:00 |
|
Andreas Kling
|
60023ff70b
|
LibC: free() should move kept empty ChunkedBlocks to the end of the list.
This ensures that we continue allocating from partially-used blocks until
they are full.
|
2019-05-02 16:35:57 +02:00 |
|
Andreas Kling
|
658fff195c
|
LibC: free() should return free blocks back to the operating system.
Okay fine, I'll give them back. But we'll keep 4 blocks per size class on
hand, to reduce churn.
|
2019-05-02 15:58:10 +02:00 |
|
Andreas Kling
|
2dc72bb297
|
LibC: Improve malloc() mmap names somewhat.
|
2019-05-02 02:58:06 +02:00 |
|
Andreas Kling
|
4291e96991
|
LibC: Implement a simple freelist-based malloc() with size classes.
It's not thread-safe yet, and there is lots of room for improvement.
Still it's a lot faster than the first-fit bitmap-based one it replaces.
|
2019-05-02 02:35:29 +02:00 |
|