1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-24 07:32:11 +00:00
serenity/Userland/Libraries/LibJS/Heap
Aliaksandr Kalenik e79d4f3462 LibJS: Early reject pointers outside of allocated blocks range in GC
This change adds a check to discard pointers that are lower than the
minimum address of all allocated blocks or higher than the maximum
address of all blocks. By doing this we avoid executing plenty of set()
operations on the HashMap in the add_possible_value().

With this change gather_conservative_roots() run 10x times faster in
Speedometer React-Redux-TodoMVC test.
2023-09-30 08:07:12 +02:00
..
BlockAllocator.cpp Everywhere: Replace uses of __serenity__ with AK_OS_SERENITY 2022-10-10 12:23:12 +02:00
BlockAllocator.h Libraries: Use default constructors/destructors in LibJS 2022-03-16 16:19:40 +00:00
Cell.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
Cell.h AK+LibJS: Introduce JS::HeapFunction 2023-08-19 05:03:17 +02:00
CellAllocator.cpp LibJS: Use default instead of an empty constructor/destructor 2021-09-16 17:17:13 +02:00
CellAllocator.h Userland: Remove a bunch of unnecessary Vector imports 2022-01-28 23:40:25 +01:00
DeferGC.h LibJS: Make GC deferral friendship based 2023-09-25 13:19:25 +02:00
GCPtr.h LibJS+LibWeb: Mark NonnullGCPtr::ptr() as returns_nonnull 2023-08-07 22:20:03 -04:00
Handle.cpp LibJS: Add source location for Handle nodes in GC graph dumper output 2023-09-24 14:55:32 +02:00
Handle.h LibJS: Add source location for Handle nodes in GC graph dumper output 2023-09-24 14:55:32 +02:00
Heap.cpp LibJS: Early reject pointers outside of allocated blocks range in GC 2023-09-30 08:07:12 +02:00
Heap.h LibJS: Early reject pointers outside of allocated blocks range in GC 2023-09-30 08:07:12 +02:00
HeapBlock.cpp LibJS: Resolve a circular include problem between HeapBlock and Cell 2023-07-11 09:38:37 +03:30
HeapBlock.h LibJS: Resolve a circular include problem between HeapBlock and Cell 2023-07-11 09:38:37 +03:30
HeapFunction.h LibJS: Declare HeapFunction::function() with [[nodiscard]] 2023-09-26 19:42:59 +02:00
HeapRoot.h LibJS: Add source location for Handle nodes in GC graph dumper output 2023-09-24 14:55:32 +02:00
Internals.h LibJS: Resolve a circular include problem between HeapBlock and Cell 2023-07-11 09:38:37 +03:30
MarkedVector.cpp LibJS: Let MarkedVector<T> inherit from Vector and handle Cell* + Value 2022-02-09 12:25:27 +00:00
MarkedVector.h LibJS: Add source location for Handle nodes in GC graph dumper output 2023-09-24 14:55:32 +02:00