ladybird/Userland/Libraries/LibJS/Bytecode
Andreas Kling de8e4b1853 LibJS/Bytecode: Cache object own property accesses
The instructions GetById and GetByIdWithThis now remember the last-seen
Shape, and if we see the same object again, we reuse the property offset
from last time without doing a new lookup.

This allows us to use Object::get_direct(), bypassing the entire lookup
machinery and saving lots of time.

~23% speed-up on Kraken/ai-astar.js :^)
2023-07-09 12:54:06 +02:00
..
Pass LibJS/Bytecode: Generate bytecode for deleting super properties 2023-07-07 18:11:51 +02:00
ASTCodegen.cpp LibJS/Bytecode: Cache object own property accesses 2023-07-09 12:54:06 +02:00
BasicBlock.cpp
BasicBlock.h LibJS/Bytecode: Remove unnecessary variable environment stack 2023-07-02 18:30:02 +02:00
CodeGenerationError.cpp LibJS: Add to_string definitions to CodeGenerationError and ParserError 2023-02-17 09:14:23 -05:00
CodeGenerationError.h LibJS: Remove unused CodeGenerationError::to_deprecated_string 2023-02-17 09:14:23 -05:00
Executable.cpp Everywhere: Stop using NonnullOwnPtrVector 2023-03-06 23:46:35 +01:00
Executable.h LibJS/Bytecode: Cache object own property accesses 2023-07-09 12:54:06 +02:00
Generator.cpp LibJS/Bytecode: Cache object own property accesses 2023-07-09 12:54:06 +02:00
Generator.h LibJS/Bytecode: Cache object own property accesses 2023-07-09 12:54:06 +02:00
IdentifierTable.cpp
IdentifierTable.h
Instruction.cpp
Instruction.h LibJS/Bytecode: Generate bytecode for deleting super properties 2023-07-07 18:11:51 +02:00
Interpreter.cpp LibJS/Bytecode: Cache object own property accesses 2023-07-09 12:54:06 +02:00
Interpreter.h LibJS/Bytecode: Cache object own property accesses 2023-07-09 12:54:06 +02:00
Label.h
Op.cpp LibJS/Bytecode: Cache object own property accesses 2023-07-09 12:54:06 +02:00
Op.h LibJS/Bytecode: Cache object own property accesses 2023-07-09 12:54:06 +02:00
PassManager.h AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
Register.h
StringTable.cpp
StringTable.h