ladybird/Libraries/LibJS
Andreas Kling 63eccc5640 LibJS: Don't make extra copies of every JS function's source code
Instead, let functions have a view into the AST's SourceCode object's
underlying string data. The source string is kept alive by the AST, so
it's fine to have views into it as long as the AST exists.

Reduces memory footprint on my x.com home feed by 65 MiB.
2025-12-21 10:06:04 -06:00
..
Bytecode LibJS: Don't set [[HomeObject]] for non-method object properties 2025-12-17 12:50:17 -06:00
Contrib/Test262 LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
Heap LibJS+LibWeb: Add various fast_is<T>() helpers for common things 2025-12-20 09:13:19 -06:00
Runtime LibJS: Don't make extra copies of every JS function's source code 2025-12-21 10:06:04 -06:00
Tests LibUnicode: Update ICU to 78.1 2025-12-08 11:29:12 -05:00
AST.cpp LibJS: Don't make extra copies of every JS function's source code 2025-12-21 10:06:04 -06:00
AST.h LibJS: Don't make extra copies of every JS function's source code 2025-12-21 10:06:04 -06:00
CMakeLists.txt LibJS: Cache fully-formed PropertyKeys in Executable 2025-12-11 14:34:45 -06:00
Console.cpp LibJS: Remove ExecutionContext::function_name field 2025-10-29 21:20:10 +01:00
Console.h LibJS: Implement console.dirxml 2025-08-17 07:28:56 -04:00
CyclicModule.cpp LibJS: Align async module rejection order with fulfillment order 2025-12-17 15:33:26 +01:00
CyclicModule.h LibJS: Sync additional Import Attributes spec changes 2025-10-22 10:58:19 +02:00
Forward.h LibJS: Introduce NativeJavaScriptBackedFunction 2025-11-30 11:54:54 +01:00
Lexer.cpp LibJS: Cache length-in-code-units in SourceCode 2025-11-09 12:14:03 +01:00
Lexer.h LibJS: Cache an Utf16View for the full code string in SourceCode 2025-11-09 12:14:03 +01:00
LocalVariable.h LibJS: Port the Identifier AST (and related) nodes to UTF-16 2025-08-13 09:56:13 -04:00
Module.cpp LibJS: Sync additional Import Attributes spec changes 2025-10-22 10:58:19 +02:00
Module.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
ModuleLoading.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Parser.cpp LibJS: Don't make extra copies of every JS function's source code 2025-12-21 10:06:04 -06:00
Parser.h LibJS: Remove ParserState::lookahead_lexer 2025-11-09 12:14:03 +01:00
ParserError.cpp LibJS: Port the JS lexer and parser to UTF-16 2025-08-13 09:56:13 -04:00
ParserError.h LibJS: Port the JS lexer and parser to UTF-16 2025-08-13 09:56:13 -04:00
Position.h LibJS: Cache source code positions more often 2024-12-02 11:42:11 +01:00
Print.cpp LibJS+LibWeb: Replace JS::Utf16String with AK::Utf16String 2025-07-18 12:45:38 -04:00
Print.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
Script.cpp LibJS: Have JS::Lexer take a JS::SourceCode as input 2025-11-09 12:14:03 +01:00
Script.h LibJS: Stop tracking whether execution context is strict mode or not 2025-10-29 21:20:10 +01:00
SourceCode.cpp LibJS: Cache length-in-code-units in SourceCode 2025-11-09 12:14:03 +01:00
SourceCode.h LibJS: Cache length-in-code-units in SourceCode 2025-11-09 12:14:03 +01:00
SourceRange.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
SourceTextModule.cpp LibJS: Fix typo in ResolveExport assertion 2025-12-03 12:08:40 +01:00
SourceTextModule.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
SyntaxHighlighter.cpp LibJS: Have JS::Lexer take a JS::SourceCode as input 2025-11-09 12:14:03 +01:00
SyntaxHighlighter.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
SyntheticModule.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
SyntheticModule.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
Token.cpp LibJS: Make JS::Token::message an enum instead of a StringView 2025-11-09 12:14:03 +01:00
Token.h LibJS: Make JS::Token::message an enum instead of a StringView 2025-11-09 12:14:03 +01:00