1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 19:38:12 +00:00
serenity/Userland/Libraries/LibJS/Heap
Andreas Kling c2d9cd8d53 LibJS: Implement lazy freelist allocation for cells
HeapBlock now implements the same lazy freelist as LibC malloc() does,
where new blocks start out in a "bump allocator" mode that gets used
until we've bump-allocated all the way to the end of the block.

Then we fall back to the old freelist style as before.

This means we don't have to pre-initialize the freelist on HeapBlock
construction. This defers page faults and reduces memory usage for
blocks where all cells don't get used. :^)
2021-05-17 19:30:12 +02:00
..
Allocator.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Allocator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
DeferGC.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Handle.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Handle.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
Heap.cpp LibJS: Make sure all allocators are 8-byte aligned 2021-05-14 08:34:00 +01:00
Heap.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HeapBlock.cpp LibJS: Implement lazy freelist allocation for cells 2021-05-17 19:30:12 +02:00
HeapBlock.h LibJS: Implement lazy freelist allocation for cells 2021-05-17 19:30:12 +02:00