ladybird/Libraries/LibJS/Bytecode/AsmInterpreter
Andreas Kling f574ef528d LibJS: Replace Vector<Value> with Value* for named property storage
Replace the 24-byte Vector<Value> m_storage with an 8-byte raw
Value* m_named_properties pointer, backed by a malloc'd allocation
with an inline capacity header.

Memory layout of the allocation:
  [u32 capacity] [u32 padding] [Value 0] [Value 1] ...
  m_named_properties points to Value 0.

This shrinks JS::Object from 64 to 48 bytes (on non-Windows
platforms) and removes one level of indirection for property access
in the asm interpreter, since the data pointer is now stored directly
on the object rather than inside a Vector's internal metadata.

Growth policy: max(4, max(needed, old_capacity * 2)).
2026-03-17 22:28:35 -05:00
..
asmint.asm LibJS: Replace Vector<Value> with Value* for named property storage 2026-03-17 22:28:35 -05:00
AsmInterpreter.cpp Revert "LibJS: Shrink ExecutionContext by replacing ScriptOrModule …" 2026-03-11 23:13:18 +00:00
AsmInterpreter.h LibJS: Add AsmInterpreter, a low-level assembly bytecode interpreter 2026-03-07 13:09:59 +01:00
gen_asm_offsets.cpp LibJS: Replace Vector<Value> with Value* for named property storage 2026-03-17 22:28:35 -05:00