ladybird/Libraries/LibJS
Andreas Kling 3604259676 LibJS: Add off-thread function bytecode artifacts
Add Rust and C++ integration points for cloning lazy function compile
payloads, compiling them to GC-free bytecode off the main thread, and
materializing the result later on the main thread.

The cloned payload lets background compilation race with lazy
main-thread compilation without sharing AST ownership between threads.
Compiled function artifacts recursively include nested functions, so
materialization can discard the corresponding AST subtree.
2026-05-06 08:20:06 +02:00
..
AsmIntGen LibJS: Add asmint tag assertions 2026-05-03 13:10:48 +02:00
Bytecode LibJS: Assert asmint call frame ranges 2026-05-03 13:10:48 +02:00
BytecodeDef Rust: Add a config file for rustfmt 2026-04-18 08:05:47 -04: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 LibJS: Store pending completion on generator instead of CompletionCell 2026-05-03 12:24:04 +02:00
Rust LibJS: Add off-thread function bytecode artifacts 2026-05-06 08:20:06 +02:00
CMakeLists.txt LibJS+LibWeb: Track Rust archive as input in static-lib merge 2026-05-05 13:53:51 +02:00
Console.cpp LibJS+LibWeb: Make DOMException hold an [[ErrorData]] slot 2026-04-08 20:33:53 +02:00
Console.h LibJS+LibWeb: Make DOMException hold an [[ErrorData]] slot 2026-04-08 20:33:53 +02:00
CyclicModule.cpp LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
CyclicModule.h LibWeb: Support WASM modules 2026-04-03 21:21: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 LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
Module.h LibWeb: Support WASM modules 2026-04-03 21:21:09 +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: Store full realized SourceRange with each AST node 2025-12-29 13:36:01 +01:00
Print.cpp Everywhere: Remove ShadowRealm support 2026-04-05 13:57:58 +02:00
Print.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
RustIntegration.cpp LibJS: Add off-thread function bytecode artifacts 2026-05-06 08:20:06 +02:00
RustIntegration.h LibJS: Add off-thread function bytecode artifacts 2026-05-06 08:20:06 +02:00
Script.cpp LibJS: Build functions_to_initialize in source order 2026-04-27 08:04:11 +02:00
Script.h LibWeb+LibJS: Compile fetched top-level JS off-thread 2026-04-26 21:51:52 +02:00
SourceCode.cpp LibJS: Cache ASCII-to-UTF-16 source conversion for Rust compilation 2026-02-25 00:00:52 +01:00
SourceCode.h LibJS: Cache ASCII-to-UTF-16 source conversion for Rust compilation 2026-02-25 00:00:52 +01:00
SourceRange.h LibJS: Preserve source positions in bytecode source maps 2026-04-22 22:34:54 +02:00
SourceTextModule.cpp LibWeb+LibJS: Compile fetched top-level JS off-thread 2026-04-26 21:51:52 +02:00
SourceTextModule.h LibWeb+LibJS: Compile fetched top-level JS off-thread 2026-04-26 21:51:52 +02:00
SyntaxHighlighter.cpp Meta: Remove ENABLE_RUST build configuration option 2026-04-02 22:59:42 +02:00
SyntaxHighlighter.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
SyntheticModule.cpp LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
SyntheticModule.h LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
Token.h LibJS: Remove C++ lexer, use Rust tokenizer for syntax highlighting 2026-03-19 21:55:10 -05:00