ladybird/Libraries/LibJS
Andreas Kling 6ecfcd3e68 LibWeb+LibJS: Cache decoded JS bytecode sidecars
Add a ref-counted decoded bytecode cache backing so bytecode cache
materialization can create fresh script or module records from a shared
decoded sidecar without passing around one-shot raw blob ownership.

Keep that backing in ExecutableBacking for records materialized from
bytecode cache sidecars, so the immutable decoded data stays alive for
as long as the installed record needs it.

Cover the shared backing path with a bytecode-cache test that
materializes and runs two scripts from one decoded backing.
2026-06-06 09:15:09 +02:00
..
AsmIntGen LibJS: Add asmint tag assertions 2026-05-03 13:10:48 +02:00
Bytecode Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
BytecodeDef LibJS: Infer computed property function names 2026-05-22 01:56:57 +02:00
Contrib/Test262 LibJS: Remove gc from the global object 2026-04-24 18:36:23 +02:00
Heap LibJS: Eliminate GeneratorResult GC cell allocation on yield/await 2026-03-20 15:57:23 -05:00
Runtime Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
Rust LibWeb+LibJS: Cache decoded JS bytecode sidecars 2026-06-06 09:15:09 +02:00
CMakeLists.txt LibJS+LibWeb: Keep cached script source text lazy 2026-05-18 09:18:35 +02:00
Console.cpp LibJS: Use conservative GC containers for unrooted property-key sets 2026-05-28 21:16:23 +02:00
Console.h LibJS+LibWeb: Make DOMException hold an [[ErrorData]] slot 2026-04-08 20:33:53 +02:00
CyclicModule.cpp LibJS: Allow cached module evaluation errors 2026-05-23 11:36:45 +02:00
CyclicModule.h LibJS: Track async module evaluation order 2026-05-22 01:56:57 +02:00
DecodedBytecodeCache.h LibWeb+LibJS: Cache decoded JS bytecode sidecars 2026-06-06 09:15:09 +02:00
ExecutableBacking.h LibWeb+LibJS: Cache decoded JS bytecode sidecars 2026-06-06 09:15:09 +02:00
Forward.h LibJS: Store AlreadyResolved bit on the resolve function itself 2026-05-02 20:24:47 +02:00
LocalVariable.h LibJS: Port the Identifier AST (and related) nodes to UTF-16 2025-08-13 09:56:13 -04:00
Module.cpp LibGC: Default-construct RootHashTable from the global heap 2026-05-20 20:37:55 +02:00
Module.h LibJS: Adopt RootVector for module linking/evaluation stacks 2026-05-19 19:24:08 +02:00
ModuleEntry.h LibJS: Remove C++ AST 2026-03-19 21:55:10 -05:00
ModuleLoading.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +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: Drop source ranges from bytecode source maps 2026-05-14 09:41:03 +02:00
Print.cpp LibGC: Default-construct RootHashTable from the global heap 2026-05-20 20:37:55 +02:00
Print.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
RustIntegration.cpp LibWeb+LibJS: Cache decoded JS bytecode sidecars 2026-06-06 09:15:09 +02:00
RustIntegration.h LibWeb+LibJS: Cache decoded JS bytecode sidecars 2026-06-06 09:15:09 +02:00
Script.cpp LibWeb+LibJS: Cache decoded JS bytecode sidecars 2026-06-06 09:15:09 +02:00
Script.h LibWeb+LibJS: Cache decoded JS bytecode sidecars 2026-06-06 09:15:09 +02:00
SourceCode.cpp LibJS: Lazily map UTF-8 source offsets 2026-05-19 17:58:08 +02:00
SourceCode.h LibJS: Lazily map UTF-8 source offsets 2026-05-19 17:58:08 +02:00
SourceRange.h LibJS: Drop source ranges from bytecode source maps 2026-05-14 09:41:03 +02:00
SourceTextModule.cpp LibWeb+LibJS: Cache decoded JS bytecode sidecars 2026-06-06 09:15:09 +02:00
SourceTextModule.h LibWeb+LibJS: Cache decoded JS bytecode sidecars 2026-06-06 09:15:09 +02:00
SyntaxHighlighter.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02: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: Adopt RootHashTable for unrooted GC-pointer storage 2026-05-19 19:24:08 +02:00
SyntheticModule.h LibJS+LibWeb: Adopt RootHashTable for unrooted GC-pointer storage 2026-05-19 19:24:08 +02:00
Token.h LibJS: Remove C++ lexer, use Rust tokenizer for syntax highlighting 2026-03-19 21:55:10 -05:00