ladybird/Libraries/LibJS
Andreas Kling b6a5b7e186
Some checks are pending
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Push notes / build (push) Waiting to run
LibJS: Stop having AsyncFunctionDriverWrapper leak itself
Async functions whose promise is never resolved were leaking, since they
had a strong root JS::Handle on themselves.

This doesn't appear to actually be necessary, since the wrapper will be
kept alive as long as it's reachable (and if it's not reachable, nobody
is going to resolve/reject the promise either).

This fixes the vast majority of leaks on Speedometer, bringing memory
usage at the end of a full run from ~12 GiB to ~3 GiB.
2024-11-12 17:38:21 +01:00
..
Bytecode Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Contrib/Test262 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Heap LibJS: Make ConservativeVector<T> visit all possible values 2024-11-12 17:38:21 +01:00
Runtime LibJS: Stop having AsyncFunctionDriverWrapper leak itself 2024-11-12 17:38:21 +01:00
Tests LibJS: Parse dates like "November 19 2024 00:00:00 +0900" 2024-11-12 13:23:34 +01:00
AST.cpp LibJS: Use ConservativeVector when instantiating static class fields 2024-11-12 17:38:21 +01:00
AST.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
CMakeLists.txt Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Console.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Console.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
CyclicModule.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
CyclicModule.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Forward.h LibJS: Add support for Float16Array 2024-11-10 14:48:20 -07:00
Lexer.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Lexer.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
MarkupGenerator.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
MarkupGenerator.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Module.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Module.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ModuleLoading.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Parser.cpp LibJS: Allow division after IdentifierNames in optional chain 2024-11-11 20:19:26 +01:00
Parser.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ParserError.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ParserError.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Position.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Print.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Print.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Script.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Script.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SourceCode.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SourceCode.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SourceRange.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SourceTextModule.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SourceTextModule.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SyntaxHighlighter.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SyntaxHighlighter.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SyntheticModule.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SyntheticModule.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Token.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Token.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00