ladybird/Libraries/LibJS/Bytecode
Aliaksandr Kalenik 5a92929282 LibJS: Put vector of regs+consts+locals+args in tail of ExecutionContext
By doing that we avoid doing separate allocation for each such vector,
which was really expensive on js heavy websites. For example this change
helps to get EC allocation down from ~17% to ~2% on Google Maps. This
comes at cost of adding extra complexity to custom execution context
allocator, because EC no longer has fixed size and we need to maintain
a list of buckets.
2025-04-24 10:30:52 +02:00
..
ASTCodegen.cpp LibJS: Delete create_variable param in BindingPattern::generate_bytecode 2025-04-22 21:57:25 +02:00
BasicBlock.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
BasicBlock.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Builtins.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Builtins.h LibJS: Add builtin for Math.random() 2025-04-03 13:56:39 +02:00
CodeGenerationError.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
CodeGenerationError.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Executable.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Executable.h LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
Generator.cpp LibJS: Delete create_variable param in BindingPattern::generate_bytecode 2025-04-22 21:57:25 +02:00
Generator.h LibJS: Make Value() default-construct the undefined value 2025-04-05 11:20:26 +02:00
IdentifierTable.cpp LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
IdentifierTable.h LibJS: Make Optional<IdentifierTableIndex> use less space 2025-03-27 19:50:13 +00:00
Instruction.cpp LibJS: Remove unused InstructionStreamIterator::source_code getter 2025-04-16 10:41:44 -06:00
Instruction.h LibJS: Remove unused InstructionStreamIterator::source_code getter 2025-04-16 10:41:44 -06:00
Interpreter.cpp LibJS: Put vector of regs+consts+locals+args in tail of ExecutionContext 2025-04-24 10:30:52 +02:00
Interpreter.h LibJS: Make Value() default-construct the undefined value 2025-04-05 11:20:26 +02:00
Label.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Label.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Op.h LibJS: Remove unused this value from CallConstruct instruction 2025-04-08 18:52:35 +02:00
Operand.h LibJS: Don't make Bytecode::Operand::Type an u8 outside of aarch64 2025-04-06 20:12:58 +02:00
RegexTable.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
RegexTable.h LibJS: Use u32 for RegexTableIndex 2025-04-06 02:05:27 +02:00
Register.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ScopedOperand.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ScopedOperand.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
StringTable.cpp LibJS: Make Optional<StringTableIndex> use less space 2025-04-06 02:05:27 +02:00
StringTable.h LibJS: Make Optional<StringTableIndex> use less space 2025-04-06 02:05:27 +02:00