1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:38:10 +00:00
serenity/Libraries/LibJS/Heap
Andreas Kling 69bae3fd9a LibJS: Prevent object shape transitions during runtime object buildup
While initialization common runtime objects like functions, prototypes,
etc, we don't really care about tracking transitions for each and every
property added to them.

This patch puts objects into a "disable transitions" mode while we call
initialize() on them. After that, adding more properties will cause new
transitions to be generated and added to the chain.

This gives a ~10% speed-up on test-js. :^)
2020-10-05 20:53:00 +02:00
..
DeferGC.h LibJS: Add DeferGC, a RAII way to prevent GC temporarily 2020-04-19 12:09:32 +02:00
Handle.cpp LibJS: Add missing copyright headers 2020-03-18 20:21:06 +01:00
Handle.h Meta+LibHTTP through LibWeb: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
Heap.cpp LibJS: Replace a few dbg() with dbgln() 2020-10-04 19:22:02 +02:00
Heap.h LibJS: Prevent object shape transitions during runtime object buildup 2020-10-05 20:53:00 +02:00
HeapBlock.cpp LibJS: Always inline HeapBlock::allocate() 2020-10-04 19:25:49 +02:00
HeapBlock.h LibJS: Always inline HeapBlock::allocate() 2020-10-04 19:25:49 +02:00