ladybird/Userland/Libraries/LibJS
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
..
Bytecode
Contrib/Test262
Heap LibJS: Use the system native page size as the HeapBlock::block_size 2024-08-29 13:56:09 +02:00
Runtime LibJS: Use the IteratorStepValue AO in Iterator prototypes 2024-08-27 13:00:37 -04:00
Tests
AST.cpp
AST.h
CMakeLists.txt
Console.cpp LibJS+WebContent: Implement console.table 2024-08-22 09:08:50 +01:00
Console.h LibJS+WebContent: Implement console.table 2024-08-22 09:08:50 +01:00
CyclicModule.cpp
CyclicModule.h
Forward.h
Lexer.cpp LibJS: Update spec link to the hashbang comment syntax 2024-08-20 12:24:49 -04:00
Lexer.h
MarkupGenerator.cpp
MarkupGenerator.h
Module.cpp
Module.h
ModuleLoading.h
Parser.cpp
Parser.h
ParserError.cpp
ParserError.h
Position.h
Print.cpp LibJS+LibUnicode: Update the Intl.DateTimeFormat constructor spec steps 2024-08-15 17:21:00 -04:00
Print.h
SafeFunction.h
Script.cpp
Script.h
SourceCode.cpp
SourceCode.h
SourceRange.h
SourceTextModule.cpp
SourceTextModule.h
SyntaxHighlighter.cpp
SyntaxHighlighter.h
SyntheticModule.cpp
SyntheticModule.h
Token.cpp
Token.h