ladybird/Libraries/LibJS
Andreas Kling ad7c1e147f LibJS: Add SetGlobal bytecode instruction for cached global writes
Before this change, setting a global would end up as SetLexicalBinding.
That instruction always failed to cache the access if the global was a
property of the global object.

1.14x speedup on Octane/earley-boyer.js
2.04x speedup on MicroBench/for-of.js

Note that MicroBench/for-of.js was more of a "set global" benchmark
before this. After this change, it's actually a for..of benchmark. :^)
2025-05-04 01:58:57 +02:00
..
Bytecode LibJS: Add SetGlobal bytecode instruction for cached global writes 2025-05-04 01:58:57 +02:00
Contrib/Test262 LibJS: Use Value::to_byte_string() in fewer places 2025-03-28 12:31:40 -04:00
Heap LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Runtime LibJS: Use PrimitiveString more instead of Utf16String in String code 2025-05-03 20:01:20 +02:00
Tests AK+LibJS: Use simdutf for all base64 operations 2025-05-03 11:21:10 -04:00
AST.cpp LibJS: Remove [[VarNames]] from GlobalEnvironment 2025-04-29 07:33:08 -04:00
AST.h LibJS: Skip allocating locals for arguments that allowed to be local 2025-04-26 11:02:29 +02:00
CMakeLists.txt LibJS: Implement rawJSON and isRawJSON functions 2025-04-24 09:33:49 -04:00
Console.cpp LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
Console.h LibGC: Rename MarkedVector => RootVector 2024-12-26 19:10:44 +01:00
CyclicModule.cpp LibJS: Update spec steps / links for the import-assertions proposal 2025-04-29 07:33:08 -04:00
CyclicModule.h LibJS: Update spec steps / links for the import-assertions proposal 2025-04-29 07:33:08 -04:00
Forward.h LibJS: Allow advancing built-in iterators without result object creation 2025-04-30 20:51:39 +02:00
Lexer.cpp LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
Lexer.h LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
MarkupGenerator.cpp LibJS: Make Value() default-construct the undefined value 2025-04-05 11:20:26 +02:00
MarkupGenerator.h
Module.cpp LibJS: Update spec steps / links for the import-assertions proposal 2025-04-29 07:33:08 -04:00
Module.h LibJS: Update spec steps / links for the import-assertions proposal 2025-04-29 07:33:08 -04:00
ModuleLoading.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Parser.cpp LibJS: Update spec steps / links for the import-assertions proposal 2025-04-29 07:33:08 -04:00
Parser.h LibJS: Allow using local variable for catch parameters 2025-04-22 21:57:25 +02:00
ParserError.cpp LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
ParserError.h LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
Position.h LibJS: Cache source code positions more often 2024-12-02 11:42:11 +01:00
Print.cpp LibCore+LibJS+LibWasm: Always use a real format string 2025-04-08 20:00:18 -04:00
Print.h
Script.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Script.h LibJS+LibWeb: Add fast_is<T> helpers for HTML::Script class family 2025-04-18 14:45:56 +02:00
SourceCode.cpp LibJS: Cache source code positions more often 2024-12-02 11:42:11 +01:00
SourceCode.h
SourceRange.h
SourceTextModule.cpp LibJS: Update spec steps / links for the import-assertions proposal 2025-04-29 07:33:08 -04:00
SourceTextModule.h LibJS: Update spec steps / links for the import-assertions proposal 2025-04-29 07:33:08 -04:00
SyntaxHighlighter.cpp LibJS+LibWebView: Treat trivia tokens as comments 2025-03-04 15:54:03 -05:00
SyntaxHighlighter.h
SyntheticModule.cpp LibJS: Update spec steps / links for the JSON modules proposal 2025-04-29 07:33:08 -04:00
SyntheticModule.h LibJS: Update spec steps / links for the JSON modules proposal 2025-04-29 07:33:08 -04:00
Token.cpp
Token.h LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00