mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-21 07:29:53 +00:00
This patch adds a fast path to the GetByValue bytecode op that bypasses a ton of things *if* a set of assumptions hold: - The property key must be a non-negative Int32 - The base object must not interfere with indexed property access - The property key must already be present as an own property - The existing value must not have any accessors defined If this holds (which it should in the common case), we can poke directly at the indexed property storage and save a boatload of time. 10% speed-up on the entire Kraken benchmark :^) (including: 31% speed-up on Kraken/audio-dft.js) (including: 23% speed-up on Kraken/stanford-crypto-aes.js) |
||
---|---|---|
.. | ||
ASTCodegen.cpp | ||
BasicBlock.cpp | ||
BasicBlock.h | ||
CodeGenerationError.cpp | ||
CodeGenerationError.h | ||
Executable.cpp | ||
Executable.h | ||
Generator.cpp | ||
Generator.h | ||
IdentifierTable.cpp | ||
IdentifierTable.h | ||
Instruction.cpp | ||
Instruction.h | ||
Interpreter.cpp | ||
Interpreter.h | ||
Label.h | ||
Op.h | ||
RegexTable.cpp | ||
RegexTable.h | ||
Register.h | ||
StringTable.cpp | ||
StringTable.h |