ladybird/Userland/Libraries/LibJS/Bytecode
Aliaksandr Kalenik 865e651a7d LibJS: Merge CallFrame into ExecutionContext
Before this change both ExecutionContext and CallFrame were created
before executing function/module/script with a couple exceptions:
- executable created for default function argument evaluation has to
  run in function's execution context.
- `execute_ast_node()` where executable compiled for ASTNode has to be
  executed in running execution context.

This change moves all members previously owned by CallFrame into
ExecutionContext, and makes two exceptions where an executable that does
not have a corresponding execution context saves and restores registers
before running.

Now, all execution state lives in a single entity, which makes it a bit
easier to reason about and opens opportunities for optimizations, such
as moving registers and local variables into a single array.
2024-05-02 07:26:13 +02:00
..
ASTCodegen.cpp LibJS: Fix bug where argument++ happened before call 2024-04-27 17:24:29 +02:00
BasicBlock.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
BasicBlock.h Revert "LibJS/Bytecode: Bring back the bytecode optimization pipeline" 2024-03-06 08:39:29 +01:00
Builtins.cpp LibJS: Introduce Builtins 2023-11-17 19:06:25 +01:00
Builtins.h LibJS/JIT: Add builtin for Math.exp() 2023-11-24 12:49:15 +01:00
CodeGenerationError.cpp LibJS: Add to_string definitions to CodeGenerationError and ParserError 2023-02-17 09:14:23 -05:00
CodeGenerationError.h LibJS: Remove unused CodeGenerationError::to_deprecated_string 2023-02-17 09:14:23 -05:00
CommonImplementations.h LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
Executable.cpp LibJS+LibWeb: Use new Cell::Visitor helpers to avoid manual iteration 2024-04-16 07:40:01 +02:00
Executable.h LibJS: Include identifier information in nullish property read access 2024-03-29 21:57:19 +01:00
Generator.cpp LibJS: Support string literal expressions in nullish object exceptions 2024-04-02 07:50:17 +02:00
Generator.h LibJS: Include identifier information in nullish property read access 2024-03-29 21:57:19 +01:00
IdentifierTable.cpp LibJS: Don't worry about deduplicating bytecode string tables 2023-10-04 20:10:12 +02:00
IdentifierTable.h AK+Everywhere: Rename FlyString to DeprecatedFlyString 2023-01-09 23:00:24 +00:00
Instruction.cpp Revert "LibJS/Bytecode: Bring back the bytecode optimization pipeline" 2024-03-06 08:39:29 +01:00
Instruction.h Revert "LibJS/Bytecode: Bring back the bytecode optimization pipeline" 2024-03-06 08:39:29 +01:00
Interpreter.cpp LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
Interpreter.h LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
Label.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Op.h LibJS: Include identifier information in nullish property write access 2024-03-29 21:57:19 +01:00
Operand.h LibJS/Bytecode: Add Bytecode::Operand 2024-02-19 21:45:27 +01:00
RegexTable.cpp LibJS/Bytecode: Don't reparse regular expressions on instantiation 2023-07-13 13:30:49 +02:00
RegexTable.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Register.h LibJS: Stash thrown exception in a register before executing finalizer 2023-11-03 20:27:45 +01:00
StringTable.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
StringTable.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30