mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-24 18:02:20 +00:00
Before this change, we would call [[OwnPropertyKeys]] on the target objects, then convert the returned keys from Value into PropertyKey. Then, when actually iterating, we'd convert them back into Value again. This was particularly costly for numeric property keys, since we had to go through string-from-number construction. Now, we simply keep the original values returned by [[OwnPropertyKeys]] around and use them for the enumeration. 1.09x speedup on MicroBench/for-in-indexed-properties.js 1.01x speedup on MicroBench/for-in-named-properties.js |
||
---|---|---|
.. | ||
ASTCodegen.cpp | ||
BasicBlock.cpp | ||
BasicBlock.h | ||
Builtins.cpp | ||
Builtins.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.cpp | ||
Label.h | ||
Op.h | ||
Operand.h | ||
RegexTable.cpp | ||
RegexTable.h | ||
Register.h | ||
ScopedOperand.cpp | ||
ScopedOperand.h | ||
StringTable.cpp | ||
StringTable.h |