ladybird/Userland/Libraries/LibJS
Andreas Kling 9265385807 LibJS/Bytecode: Don't bother propagating completion values in functions
The last completion value in a function is not exposed to the language,
since functions always either return something, or undefined.

Given this, we can avoid emitting code that propagates the completion
value from various statements, as long as we know we're generating code
for a context where the completion value is not accessible. In practical
terms, this means that function code gets to do less completion
shuffling, while global and eval code has to keep doing it.
2024-05-14 21:46:36 +02:00
..
Bytecode LibJS/Bytecode: Don't bother propagating completion values in functions 2024-05-14 21:46:36 +02:00
Contrib/Test262 LibJS: Make ParserError::to_string infallible 2024-04-05 20:01:37 -04:00
Heap LibJS: Make JS::Cell a Weakable 2024-05-04 21:42:59 +02:00
Runtime LibJS/Bytecode: Add environment coordinate caching to SetVariable 2024-05-14 06:39:27 +02:00
Tests LibJS: Save and restore exceptions on yields in finalizers 2024-05-08 22:01:58 +02:00
AST.cpp LibJS: Join locals, constants and registers into single vector 2024-05-13 19:54:11 +02:00
AST.h LibJS: Stop using execute_ast_node() for class property evaluation 2024-05-12 19:10:25 +02:00
CMakeLists.txt Lagom: Add ClangPlugins to the build system 2024-05-13 16:50:54 -06:00
Console.cpp LibJS+LibWeb: Make Console, ConsoleClient & subclasses GC-allocated 2024-04-21 09:12:25 +02:00
Console.h LibJS+LibWeb: Make Console, ConsoleClient & subclasses GC-allocated 2024-04-21 09:12:25 +02:00
CyclicModule.cpp LibJS+LibWeb: Use new Cell::Visitor helpers to avoid manual iteration 2024-04-16 07:40:01 +02:00
CyclicModule.h
Forward.h LibJS/Bytecode: Make StringTableIndex be a 32-bit index 2024-05-10 15:03:24 +00:00
Lexer.cpp Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
Lexer.h LibJS: Lex 1/2/3-byte tokens without HashMap lookups 2024-03-24 13:28:24 +01:00
MarkupGenerator.cpp AK+Userland: Remove some needlessly explicit conversions to StringView 2024-04-04 11:23:21 +02:00
MarkupGenerator.h
Module.cpp LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
Module.h LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
ModuleLoading.h
Parser.cpp LibWeb+LibJS: Skip function environment allocation if possible 2024-05-04 06:48:07 +02:00
Parser.h LibWeb+LibJS: Skip function environment allocation if possible 2024-05-04 06:48:07 +02:00
ParserError.cpp LibJS: Make ParserError::to_string infallible 2024-04-05 20:01:37 -04:00
ParserError.h LibJS: Make ParserError::to_string infallible 2024-04-05 20:01:37 -04:00
Position.h
Print.cpp
Print.h
SafeFunction.h
Script.cpp
Script.h
SourceCode.cpp
SourceCode.h
SourceRange.h
SourceTextModule.cpp LibJS: Emit bytecode for function declaration instantiation 2024-05-11 11:43:05 +02:00
SourceTextModule.h
SyntaxHighlighter.cpp
SyntaxHighlighter.h
SyntheticModule.cpp
SyntheticModule.h
Token.cpp
Token.h Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00