ladybird/Userland/Libraries/LibJS/Runtime
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
..
Intl Everywhere: Run clang-format 2024-04-24 16:50:01 -04:00
Temporal Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
AbstractOperations.cpp LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
AbstractOperations.h Everywhere: Mark a bunch of function parameters as NOESCAPE 2024-04-09 09:10:44 +02:00
Accessor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Accessor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Agent.cpp LibJS: Skip test262 tests with the CanBlockIsFalse flag 2023-11-30 09:51:46 -05:00
Agent.h LibJS: Skip test262 tests with the CanBlockIsFalse flag 2023-11-30 09:51:46 -05:00
AggregateError.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AggregateError.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AggregateErrorConstructor.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
AggregateErrorConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AggregateErrorPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AggregateErrorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArgumentsObject.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArgumentsObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Array.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Array.h LibWeb/WebIDL: Introduce ObservableArray 2024-03-08 16:31:21 +01:00
ArrayBuffer.cpp LibJS: Inline the ArrayBufferByteLength implementation 2024-02-27 20:02:07 +01:00
ArrayBuffer.h LibJS: Add an explicit DataBlock::size method 2024-02-27 20:02:07 +01:00
ArrayBufferConstructor.cpp LibJS: Partially implement resizable ArrayBuffer objects 2023-12-26 11:16:10 +01:00
ArrayBufferConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayBufferPrototype.cpp LibJS: Implement missing steps from the ArrayBuffer transfer proposal 2023-12-29 09:25:41 +01:00
ArrayBufferPrototype.h LibJS: Partially implement resizable ArrayBuffer objects 2023-12-26 11:16:10 +01:00
ArrayConstructor.cpp LibJS: Use IteratorStepValue in ECMA-262 2024-02-03 14:07:26 -05:00
ArrayConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayIterator.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayIterator.h LibJS: Add fast_is<ArrayIterator>() 2023-12-09 00:20:25 +01:00
ArrayIteratorPrototype.cpp LibJS+LibWeb: Implement resizable ArrayBuffer support for TypedArray 2023-12-26 11:16:10 +01:00
ArrayIteratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayPrototype.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ArrayPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFromSyncIterator.cpp LibJS: Stop converting between Object <-> IteratorRecord all the time 2023-12-07 14:06:34 +01:00
AsyncFromSyncIterator.h LibJS: Stop converting between Object <-> IteratorRecord all the time 2023-12-07 14:06:34 +01:00
AsyncFromSyncIteratorPrototype.cpp LibJS+LibWeb: Add missing JS_DEFINE_ALLOCATOR() for a bunch of classes 2023-12-23 23:02:10 +01:00
AsyncFromSyncIteratorPrototype.h LibJS: Stop converting between Object <-> IteratorRecord all the time 2023-12-07 14:06:34 +01:00
AsyncFunctionConstructor.cpp LibJS: Always allocate ExecutionContext objects on the malloc heap 2023-11-29 09:48:18 +01:00
AsyncFunctionConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFunctionDriverWrapper.cpp LibJS: Only consider VM-accessible execution contexts as strong roots 2023-12-13 11:19:13 +01:00
AsyncFunctionDriverWrapper.h LibJS: Always allocate ExecutionContext objects on the malloc heap 2023-11-29 09:48:18 +01:00
AsyncFunctionPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFunctionPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncGenerator.cpp LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
AsyncGenerator.h LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
AsyncGeneratorFunctionConstructor.cpp LibJS: Always allocate ExecutionContext objects on the malloc heap 2023-11-29 09:48:18 +01:00
AsyncGeneratorFunctionConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncGeneratorFunctionPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncGeneratorFunctionPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncGeneratorPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncGeneratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncGeneratorRequest.h
AsyncIteratorPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncIteratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AtomicsObject.cpp LibJS+LibWeb: Implement resizable ArrayBuffer support for TypedArray 2023-12-26 11:16:10 +01:00
AtomicsObject.h LibJS: Stub out Atomics.notify 2023-11-30 09:51:46 -05:00
BigInt.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BigInt.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
BigIntConstructor.cpp Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
BigIntConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BigIntObject.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BigIntObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BigIntPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BigIntPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BooleanConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BooleanConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BooleanObject.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BooleanObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BooleanPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BooleanPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BoundFunction.cpp LibJS+LibWeb: Use new Cell::Visitor helpers to avoid manual iteration 2024-04-16 07:40:01 +02:00
BoundFunction.h LibJS: Pass call/construct argument lists as ReadonlySpan<Value> 2023-11-29 09:48:18 +01:00
ByteLength.h LibJS+LibWeb: Implement resizable ArrayBuffer support for DataView 2023-12-26 11:16:10 +01:00
CanonicalIndex.h
ClassFieldDefinition.h
CommonPropertyNames.h LibJS: Implement Promise.try() 2024-04-09 10:18:35 +02:00
Completion.cpp Ladybird+LibJS: Add optional logging of *all* JS exceptions 2024-04-16 16:57:06 +02:00
Completion.h LibJS: Mark ThrowCompletionOr member functions as ALWAYS_INLINE 2024-02-28 21:09:09 +01:00
ConsoleObject.cpp LibJS+LibWeb: Make Console, ConsoleClient & subclasses GC-allocated 2024-04-21 09:12:25 +02:00
ConsoleObject.h LibJS+LibWeb: Make Console, ConsoleClient & subclasses GC-allocated 2024-04-21 09:12:25 +02:00
DataView.cpp LibJS+LibWeb: Implement resizable ArrayBuffer support for DataView 2023-12-26 11:16:10 +01:00
DataView.h LibJS+LibWeb: Implement resizable ArrayBuffer support for DataView 2023-12-26 11:16:10 +01:00
DataViewConstructor.cpp LibJS+LibWeb: Implement resizable ArrayBuffer support for DataView 2023-12-26 11:16:10 +01:00
DataViewConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DataViewPrototype.cpp LibJS+LibWeb: Implement resizable ArrayBuffer support for DataView 2023-12-26 11:16:10 +01:00
DataViewPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Date.cpp LibJS: Ensure JS::Date has a key function and its vtable is in LibJS 2024-01-12 09:11:18 +01:00
Date.h LibJS: Ensure JS::Date has a key function and its vtable is in LibJS 2024-01-12 09:11:18 +01:00
DateConstructor.cpp LibJS: Support more weird date formats found on the web 2024-02-03 09:29:40 +01:00
DateConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DatePrototype.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
DatePrototype.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
DeclarativeEnvironment.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DeclarativeEnvironment.h AK+LibJS: Remove OFFSET_OF and its users 2024-02-29 09:00:00 +01:00
DisposableStack.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DisposableStack.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DisposableStackConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DisposableStackConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DisposableStackPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DisposableStackPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ECMAScriptFunctionObject.cpp LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
ECMAScriptFunctionObject.h LibJS: Don't add uncaptured parameter bindings to environment 2024-01-21 21:03:59 +01:00
Environment.cpp
Environment.h AK+LibJS: Remove OFFSET_OF and its users 2024-02-29 09:00:00 +01:00
EnvironmentCoordinate.h AK+LibJS: Remove OFFSET_OF and its users 2024-02-29 09:00:00 +01:00
Error.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Error.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ErrorConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ErrorConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ErrorPrototype.cpp LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
ErrorPrototype.h LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
ErrorTypes.cpp
ErrorTypes.h LibJS: Throw RangeError in StringPrototype::repeat if OOM 2024-04-20 19:23:46 -04:00
ExecutionContext.cpp LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
ExecutionContext.h LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
FinalizationRegistry.cpp LibJS+LibWeb: Change JobCallback to be GC-allocated 2024-03-16 14:27:06 +01:00
FinalizationRegistry.h LibJS+LibWeb: Change JobCallback to be GC-allocated 2024-03-16 14:27:06 +01:00
FinalizationRegistryConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
FinalizationRegistryConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
FinalizationRegistryPrototype.cpp LibJS+LibWeb: Change JobCallback to be GC-allocated 2024-03-16 14:27:06 +01:00
FinalizationRegistryPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
FunctionConstructor.cpp LibJS: Make ParserError::to_string infallible 2024-04-05 20:01:37 -04:00
FunctionConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
FunctionEnvironment.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
FunctionEnvironment.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
FunctionKind.h
FunctionObject.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
FunctionObject.h LibJS: Pass call/construct argument lists as ReadonlySpan<Value> 2023-11-29 09:48:18 +01:00
FunctionPrototype.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
FunctionPrototype.h LibJS: Pass call/construct argument lists as ReadonlySpan<Value> 2023-11-29 09:48:18 +01:00
GeneratorFunctionConstructor.cpp LibJS: Always allocate ExecutionContext objects on the malloc heap 2023-11-29 09:48:18 +01:00
GeneratorFunctionConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
GeneratorFunctionPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
GeneratorFunctionPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
GeneratorObject.cpp LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
GeneratorObject.h LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
GeneratorPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
GeneratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
GlobalEnvironment.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
GlobalEnvironment.h AK+LibJS: Remove OFFSET_OF and its users 2024-02-29 09:00:00 +01:00
GlobalObject.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
GlobalObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IndexedProperties.cpp Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
IndexedProperties.h AK+LibJS: Remove OFFSET_OF and its users 2024-02-29 09:00:00 +01:00
Intrinsics.cpp LibJS: Use a premade shape when creating iterator result objects 2023-12-08 00:54:05 +01:00
Intrinsics.h LibJS: Use a premade shape when creating iterator result objects 2023-12-08 00:54:05 +01:00
Iterator.cpp LibJS: Use IteratorStepValue in ECMA-262 2024-02-03 14:07:26 -05:00
Iterator.h LibJS: Use IteratorStepValue in ECMA-262 2024-02-03 14:07:26 -05:00
IteratorConstructor.cpp LibJS: Stop converting between Object <-> IteratorRecord all the time 2023-12-07 14:06:34 +01:00
IteratorConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IteratorHelper.cpp LibJS: Stop converting between Object <-> IteratorRecord all the time 2023-12-07 14:06:34 +01:00
IteratorHelper.h LibJS: Stop converting between Object <-> IteratorRecord all the time 2023-12-07 14:06:34 +01:00
IteratorHelperPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IteratorHelperPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IteratorPrototype.cpp LibJS: Stop converting between Object <-> IteratorRecord all the time 2023-12-07 14:06:34 +01:00
IteratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
JobCallback.cpp LibJS: Add missing Base::visit_edges() in JobCallback 2024-04-02 15:56:05 +02:00
JobCallback.h LibJS+LibWeb: Change JobCallback to be GC-allocated 2024-03-16 14:27:06 +01:00
JSONObject.cpp AK+Everywhere: Remove JsonValue APIs with implicit default values 2024-01-21 15:47:53 -07:00
JSONObject.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Map.cpp LibJS: Suppress LibJSGCVerifier warning about Map::m_keys 2024-04-07 18:01:50 +02:00
Map.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
MapConstructor.cpp LibJS: Update spec numbers for the Array Grouping proposal 2023-12-26 12:07:50 -05:00
MapConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
MapIterator.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
MapIterator.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
MapIteratorPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
MapIteratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
MapPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
MapPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
MathObject.cpp LibJS: Call builtins directly in the bytecode interpreter 2023-12-01 13:01:26 +01:00
MathObject.h LibJS: Call builtins directly in the bytecode interpreter 2023-12-01 13:01:26 +01:00
ModuleEnvironment.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ModuleEnvironment.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ModuleNamespaceObject.cpp LibWeb: Add missing visit_edges implementation to ModuleNamespaceObject 2024-04-06 06:59:36 +02:00
ModuleNamespaceObject.h LibWeb: Add missing visit_edges implementation to ModuleNamespaceObject 2024-04-06 06:59:36 +02:00
ModuleRequest.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
NativeFunction.cpp LibJS: Always allocate ExecutionContext objects on the malloc heap 2023-11-29 09:48:18 +01:00
NativeFunction.h LibJS: Make ExecutionContext::function_name a GCPtr<PrimitiveString> 2023-11-29 09:48:18 +01:00
NumberConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
NumberConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
NumberObject.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
NumberObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
NumberPrototype.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
NumberPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Object.cpp LibJS+LibWeb: Use new Cell::Visitor helpers to avoid manual iteration 2024-04-16 07:40:01 +02:00
Object.h Everywhere: Mark a bunch of function parameters as NOESCAPE 2024-04-09 09:10:44 +02:00
ObjectConstructor.cpp LibJS: Update spec numbers for the Array Grouping proposal 2023-12-26 12:07:50 -05:00
ObjectConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ObjectEnvironment.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ObjectEnvironment.h AK+LibJS: Remove OFFSET_OF and its users 2024-02-29 09:00:00 +01:00
ObjectPrototype.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ObjectPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PrimitiveString.cpp LibJS: Remove DeprecatedFlyString::impl use in PrimitiveString 2024-02-24 15:06:52 -07:00
PrimitiveString.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
PrivateEnvironment.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PrivateEnvironment.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Promise.cpp LibJS+LibWeb: Use new Cell::Visitor helpers to avoid manual iteration 2024-04-16 07:40:01 +02:00
Promise.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromiseCapability.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromiseCapability.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromiseConstructor.cpp LibJS: Implement Promise.try() 2024-04-09 10:18:35 +02:00
PromiseConstructor.h LibJS: Implement Promise.try() 2024-04-09 10:18:35 +02:00
PromiseJobs.cpp LibJS: Fix GC leaks in promise reaction job setup 2024-04-23 12:50:40 +02:00
PromiseJobs.h LibJS: Make PromiseJob store callback as a HeapFunction 2024-03-26 05:47:24 +01:00
PromisePrototype.cpp LibJS: Don't create Handles in Promise.finally() 2024-04-03 18:14:33 +02:00
PromisePrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromiseReaction.cpp LibJS+LibWeb: Change JobCallback to be GC-allocated 2024-03-16 14:27:06 +01:00
PromiseReaction.h LibJS+LibWeb: Change JobCallback to be GC-allocated 2024-03-16 14:27:06 +01:00
PromiseResolvingElementFunctions.cpp LibJS+LibWeb: Use new Cell::Visitor helpers to avoid manual iteration 2024-04-16 07:40:01 +02:00
PromiseResolvingElementFunctions.h LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
PromiseResolvingFunction.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromiseResolvingFunction.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PropertyAttributes.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
PropertyDescriptor.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
PropertyDescriptor.h LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
PropertyKey.h LibJS: Add support for constructing a PropertyKey from a FlyString 2024-04-01 14:41:00 +02:00
PrototypeObject.h
ProxyConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ProxyConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ProxyObject.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ProxyObject.h LibJS: Pass call/construct argument lists as ReadonlySpan<Value> 2023-11-29 09:48:18 +01:00
Realm.cpp LibJS: Always allocate ExecutionContext objects on the malloc heap 2023-11-29 09:48:18 +01:00
Realm.h Everywhere: Mark a bunch of function parameters as NOESCAPE 2024-04-09 09:10:44 +02:00
Reference.cpp LibJS: Skip object creation for BigInt and Symbol values in GetValue 2024-01-27 13:11:18 -05:00
Reference.h LibJS: Do not coerce nullish references to unresolvable references 2023-07-06 21:36:13 +01:00
ReflectObject.cpp LibJS: Pass call/construct argument lists as ReadonlySpan<Value> 2023-11-29 09:48:18 +01:00
ReflectObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
RegExpConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
RegExpConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
RegExpLegacyStaticProperties.cpp LibJS: Make Utf16String & related APIs infallible 2023-08-09 17:09:16 +02:00
RegExpLegacyStaticProperties.h LibJS: Make Utf16String & related APIs infallible 2023-08-09 17:09:16 +02:00
RegExpObject.cpp LibWeb: Add missing visit_edges implementation to RegExpObject 2024-04-06 06:59:36 +02:00
RegExpObject.h LibWeb: Add missing visit_edges implementation to RegExpObject 2024-04-06 06:59:36 +02:00
RegExpPrototype.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
RegExpPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
RegExpStringIterator.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
RegExpStringIterator.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
RegExpStringIteratorPrototype.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
RegExpStringIteratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Set.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Set.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SetConstructor.cpp LibJS: Use IteratorStepValue in ECMA-262 2024-02-03 14:07:26 -05:00
SetConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SetIterator.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SetIterator.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SetIteratorPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SetIteratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SetPrototype.cpp LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
SetPrototype.h LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
ShadowRealm.cpp LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
ShadowRealm.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ShadowRealmConstructor.cpp LibJS: Always allocate ExecutionContext objects on the malloc heap 2023-11-29 09:48:18 +01:00
ShadowRealmConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ShadowRealmPrototype.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
ShadowRealmPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Shape.cpp LibJS: Introduce "dictionary" mode for object shapes 2023-12-16 14:25:58 +01:00
Shape.h LibJS: Introduce "dictionary" mode for object shapes 2023-12-16 14:25:58 +01:00
SharedArrayBufferConstructor.cpp LibJS: Update spec headers of ArrayBuffer, TypedArray, DataView, Atomics 2023-12-26 11:16:10 +01:00
SharedArrayBufferConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SharedArrayBufferPrototype.cpp LibJS: Implement missing checks for SharedArrayBuffer values 2023-12-29 09:25:41 +01:00
SharedArrayBufferPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
StringConstructor.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
StringConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
StringIterator.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
StringIterator.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
StringIteratorPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
StringIteratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
StringObject.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
StringObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
StringOrSymbol.h AK+LibJS: Remove null state from DeprecatedFlyString :^) 2024-02-24 15:06:52 -07:00
StringPrototype.cpp LibJS: Throw RangeError in StringPrototype::repeat if OOM 2024-04-20 19:23:46 -04:00
StringPrototype.h LibJS: Make the StringIndexOf AO public 2024-01-04 12:43:10 +01:00
SuppressedError.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SuppressedError.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SuppressedErrorConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SuppressedErrorConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SuppressedErrorPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SuppressedErrorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Symbol.cpp LibJS+LibWeb: Add missing JS_DEFINE_ALLOCATOR() for a bunch of classes 2023-12-23 23:02:10 +01:00
Symbol.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SymbolConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SymbolConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SymbolObject.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SymbolObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SymbolPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SymbolPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
TypedArray.cpp Everywhere: Run clang-format 2024-04-24 16:50:01 -04:00
TypedArray.h Revert "LibJS: Add fast path for getting the TA length of valid TAs" 2024-02-28 19:41:11 +01:00
TypedArrayConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
TypedArrayConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
TypedArrayPrototype.cpp LibJS: Do not unnecessarily revalidate a TypedArray 2024-03-26 17:11:26 -04:00
TypedArrayPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Utf16String.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Utf16String.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Value.cpp LibJS/Bytecode: Increase coverage of left/shift expression fast paths 2024-03-04 20:54:51 +01:00
Value.h LibJS/Bytecode: Add fast paths for equality checks with same-tag values 2024-03-04 20:54:51 +01:00
ValueInlines.h LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
ValueTraits.h Everywhere: Use east const in more places 2024-04-19 06:31:19 -04:00
VM.cpp LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
VM.h Everywhere: Mark a bunch of function parameters as NOESCAPE 2024-04-09 09:10:44 +02:00
WeakContainer.cpp
WeakContainer.h
WeakMap.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakMap.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakMapConstructor.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
WeakMapConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakMapPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakMapPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakRef.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakRef.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakRefConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakRefConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakRefPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakRefPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakSet.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakSet.h LibJSGCVerifier: Support marking GCPtr members as raw references 2024-04-06 06:59:36 +02:00
WeakSetConstructor.cpp LibJS: Use IteratorStepValue in ECMA-262 2024-02-03 14:07:26 -05:00
WeakSetConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakSetPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakSetPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WrapForValidIteratorPrototype.cpp LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
WrapForValidIteratorPrototype.h LibJS: Add calls to JS_{DECLARE,DEFINE}_ALLOCATOR() 2024-04-09 09:13:06 +02:00
WrappedFunction.cpp LibJS: Always allocate ExecutionContext objects on the malloc heap 2023-11-29 09:48:18 +01:00
WrappedFunction.h LibJS: Pass call/construct argument lists as ReadonlySpan<Value> 2023-11-29 09:48:18 +01:00