ladybird/Libraries/LibJS/Bytecode
Andreas Kling 2a9b6f1d97 LibJS: Move computation out of the ECMAScriptFunctionObject constructor
We were doing way too much computation every time an ESFO was
instantiated. This was particularly sad, since the results of these
computations were identical every time!

This patch adds a new SharedFunctionInstanceData object that gets
shared between all instances of an ESFO instantiated from some kind of
AST FunctionNode.

~5% speedup on Speedometer 2.1 :^)
2025-04-08 18:52:35 +02:00
..
ASTCodegen.cpp LibJS: Don't track "last result" of ScopeNode if we don't need it 2025-04-08 18:52:35 +02:00
BasicBlock.cpp
BasicBlock.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Builtins.cpp
Builtins.h LibJS: Add builtin for Math.random() 2025-04-03 13:56:39 +02:00
CodeGenerationError.cpp
CodeGenerationError.h
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: Move computation out of the ECMAScriptFunctionObject constructor 2025-04-08 18:52:35 +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
Instruction.h LibJS: Make async functions & generators faster with helper types 2025-04-01 02:30:42 +02:00
Interpreter.cpp LibJS: Add ECMAScriptFunctionObject::create_from_function_node() helper 2025-04-08 18:52:35 +02:00
Interpreter.h LibJS: Make Value() default-construct the undefined value 2025-04-05 11:20:26 +02:00
Label.cpp
Label.h
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
RegexTable.h LibJS: Use u32 for RegexTableIndex 2025-04-06 02:05:27 +02:00
Register.h
ScopedOperand.cpp
ScopedOperand.h
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