ladybird/Userland/Libraries/LibJS/Bytecode
Andreas Kling 0f70ff9a67 LibJS/Bytecode: Only emit ResolveThisBinding once per basic block
Once executed, this instruction will always produce the same result
in subsequent executions, so it's okay to cache it.

Unfortunately it may throw, so we can't just hoist it to the top of
every executable, since that would break observable execution order.
2024-05-09 09:12:13 +02:00
..
ASTCodegen.cpp LibJS/Bytecode: Only emit ResolveThisBinding once per basic block 2024-05-09 09:12:13 +02:00
BasicBlock.cpp LibJS/Bytecode: Store labels as basic block index during compilation 2024-05-07 09:15:40 +02:00
BasicBlock.h LibJS/Bytecode: Only emit ResolveThisBinding once per basic block 2024-05-09 09:12:13 +02:00
Builtins.cpp LibJS: Introduce Builtins 2023-11-17 19:06:25 +01:00
Builtins.h LibJS/JIT: Add builtin for Math.exp() 2023-11-24 12:49:15 +01:00
CodeGenerationError.cpp
CodeGenerationError.h
CommonImplementations.h LibJS: Cache access to properties found in prototype chain 2024-05-04 21:42:59 +02:00
Executable.cpp LibJS/Bytecode: Keep instruction source mappings in Executable 2024-05-07 09:15:40 +02:00
Executable.h LibJS/Bytecode: Keep instruction source mappings in Executable 2024-05-07 09:15:40 +02:00
Generator.cpp LibJS/Bytecode: Only emit ResolveThisBinding once per basic block 2024-05-09 09:12:13 +02:00
Generator.h LibJS/Bytecode: Only emit ResolveThisBinding once per basic block 2024-05-09 09:12:13 +02:00
IdentifierTable.cpp LibJS/Bytecode: Make IdentifierTableIndex a 32-bit index 2024-05-07 09:15:40 +02:00
IdentifierTable.h LibJS/Bytecode: Make IdentifierTableIndex a 32-bit index 2024-05-07 09:15:40 +02:00
Instruction.cpp LibJS/Bytecode: Remove Instruction::m_length field 2024-05-07 09:15:40 +02:00
Instruction.h LibJS/Bytecode: Remove Instruction::m_length field 2024-05-07 09:15:40 +02:00
Interpreter.cpp LibJS/Bytecode: Do a stack check when entering run_bytecode() 2024-05-07 09:15:40 +02:00
Interpreter.h LibJS/Bytecode: Flatten bytecode to a contiguous representation 2024-05-07 09:15:40 +02:00
Label.cpp LibJS/Bytecode: Store labels as basic block index during compilation 2024-05-07 09:15:40 +02:00
Label.h LibJS/Bytecode: Store labels as basic block index during compilation 2024-05-07 09:15:40 +02:00
Op.h LibJS: Save and restore exceptions on yields in finalizers 2024-05-08 22:01:58 +02:00
Operand.h LibJS/Bytecode: Add Bytecode::Operand 2024-02-19 21:45:27 +01:00
RegexTable.cpp
RegexTable.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Register.h LibJS: Stash thrown exception in a register before executing finalizer 2023-11-03 20:27:45 +01:00
StringTable.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
StringTable.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30