1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:18:11 +00:00
serenity/Userland/Libraries/LibJS
Luke 597e0d95fe LibJS: Only set element in array literal to an empty value if it's null
This avoids an unnecessary empty load that immediately gets overridden.

For example, `[1,,]` would appear as:
[   0] EnterScope
[  10] LoadImmediate value:<empty>
[  28] LoadImmediate value:1
[  40] Store dst:$1
[  48] LoadImmediate value:<empty>
[  60] Store dst:$2
[  68] NewArray, elements:[$1,$2]

But now appears as:
[   0] EnterScope
[  10] LoadImmediate value:1
[  28] Store dst:$1
[  30] LoadImmediate value:<empty>
[  48] Store dst:$2
[  50] NewArray, elements:[$1,$2]
2021-06-09 09:14:40 +02:00
..
Bytecode LibJS: Only set element in array literal to an empty value if it's null 2021-06-09 09:14:40 +02:00
Heap LibJS: Add dbgln() to Heap::allocator_for_size() before crashing 2021-06-06 23:08:15 +01:00
Runtime LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Tests LibJS: Handle Proxy with Array target in IsArray() abstract operation 2021-06-08 23:53:13 +02:00
AST.cpp LibJS: Handle Proxy with Array target in IsArray() abstract operation 2021-06-08 23:53:13 +02:00
AST.h LibJS: Generate bytecode for array expressions 2021-06-09 01:27:18 +02:00
CMakeLists.txt LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Console.cpp Everywhere: Use linusg@serenityos.org for my copyright headers 2021-04-22 22:51:19 +02:00
Console.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Forward.h LibJS: Generate bytecode in basic blocks instead of one big block 2021-06-09 09:07:29 +02:00
Interpreter.cpp LibJS: Return undefined from a with statement if no value was generated 2021-06-08 15:31:46 +01:00
Interpreter.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Lexer.cpp Everywhere: Use s.unverwerth@serenityos.org :^) 2021-05-29 12:30:08 +01:00
Lexer.h Everywhere: Use s.unverwerth@serenityos.org :^) 2021-05-29 12:30:08 +01:00
MarkupGenerator.cpp LibJS: Handle Proxy with Array target in IsArray() abstract operation 2021-06-08 23:53:13 +02:00
MarkupGenerator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Parser.cpp AK+LibWasm+LibJS: Disallow Variant.has() on types that aren't contained 2021-06-02 18:02:47 +02:00
Parser.h LibJS: Implement destructuring assignments and function parameters 2021-05-29 23:02:23 +04:30
SourceRange.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SyntaxHighlighter.cpp LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
SyntaxHighlighter.h LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
Token.cpp Everywhere: Use s.unverwerth@serenityos.org :^) 2021-05-29 12:30:08 +01:00
Token.h Everywhere: Use s.unverwerth@serenityos.org :^) 2021-05-29 12:30:08 +01:00