ladybird/Userland/Libraries/LibJS/Heap
Andreas Kling a6bf253602 LibJS: Use the system native page size as the HeapBlock::block_size
Before this change, we were hard-coding 4 KiB. This meant that systems
with a 16 KiB native page size were wasting 12 KiB per HeapBlock on
nothing, leading to worse locality and more mmap/madvise churn.

We now query the system page size on startup and use that as the
HeapBlock size.

The only downside here is that some of the pointer math for finding the
base of a HeapBlock now has to use a runtime computed value instead of a
compile time constant. But that's a small price to pay for what we get.
2024-08-29 13:56:09 +02:00
..
BlockAllocator.cpp LibJS: Use the system native page size as the HeapBlock::block_size 2024-08-29 13:56:09 +02:00
BlockAllocator.h LibJS: Never give back virtual memory once it belongs to a cell type 2023-12-31 15:35:56 +01:00
Cell.cpp
Cell.h LibJS+ClangPlugins: Add escape hatch for GCPtr checks 2024-07-25 18:35:57 -06:00
CellAllocator.cpp LibJS: Save min and max block addresses in CellAllocator 2024-04-24 11:42:15 +02:00
CellAllocator.h LibJS: Save min and max block addresses in CellAllocator 2024-04-24 11:42:15 +02:00
ConservativeVector.cpp LibJS: Add ConservativeVector<T> 2024-02-22 16:44:54 +01:00
ConservativeVector.h LibJS: Add ConservativeVector<T> 2024-02-22 16:44:54 +01:00
DeferGC.h
GCPtr.h LibJS: Demote VERIFY in GCPtr to ASSERT 2024-07-10 07:03:20 +02:00
Handle.cpp
Handle.h
Heap.cpp LibJS: Prefix AK::Duration with AK Namespace 2024-07-18 09:43:38 +01:00
Heap.h LibJS: Add ConservativeVector<T> 2024-02-22 16:44:54 +01:00
HeapBlock.cpp LibJS: Use the system native page size as the HeapBlock::block_size 2024-08-29 13:56:09 +02:00
HeapBlock.h LibJSGCVerifier: Support marking GCPtr members as raw references 2024-04-06 06:59:36 +02:00
HeapFunction.h LibJS+LibWeb: Fix a ton of JS_CELL-like macro issues 2024-05-30 09:29:20 -06:00
HeapRoot.h LibJS: Add ConservativeVector<T> 2024-02-22 16:44:54 +01:00
Internals.h LibJS: Use the system native page size as the HeapBlock::block_size 2024-08-29 13:56:09 +02:00
MarkedVector.cpp
MarkedVector.h