ladybird/Libraries/LibJS/Bytecode/AsmInterpreter
Andreas Kling 0a49dd1c28 LibJS: Reduce inline cache memory usage
Store bytecode property lookup caches as tiered handles instead of
eagerly allocating four entries for every cache slot. Each slot starts
empty, grows to one monomorphic entry after the first cacheable lookup,
and promotes to the existing four-entry table when another cache key
appears.

Global variable caches keep one inline property entry because they
usually warm up as global object property accesses. This keeps common
global access allocation-free while still avoiding the inherited
polymorphic cache cost.

Generated asm offsets now point at the lazy property-cache storage and
the inline global entry, and asm fast paths bail out for empty property
cache slots.
2026-05-19 01:12:36 +02:00
..
asmint.asm LibJS: Reduce inline cache memory usage 2026-05-19 01:12:36 +02:00
AsmInterpreter.cpp LibJS: Reduce inline cache memory usage 2026-05-19 01:12:36 +02:00
AsmInterpreter.h LibJS: Move bytecode interpreter state to VM 2026-04-13 18:29:43 +02:00
gen_asm_offsets.cpp LibJS: Reduce inline cache memory usage 2026-05-19 01:12:36 +02:00