ladybird/Userland/Libraries/LibJS/Runtime
Aliaksandr Kalenik 6fb1d9e516 LibJS: Stop using execute_ast_node() for class property evaluation
Instead, generate bytecode to execute their AST nodes and save the
resulting operands inside the NewClass instruction.

Moving property expression evaluation to happen before NewClass
execution also moves along creation of new private environment and
its population with private members (private members should be visible
during property evaluation).

Before:
- NewClass

After:
- CreatePrivateEnvironment
- AddPrivateName
- ...
- AddPrivateName
- NewClass
- LeavePrivateEnvironment
2024-05-12 19:10:25 +02:00
..
Intl Everywhere: Run clang-format 2024-04-24 16:50:01 -04:00
Temporal LibJS: Truncate roundingIncrement before range check 2024-05-05 19:59:26 +01:00
AbstractOperations.cpp LibJS: Emit bytecode for function declaration instantiation 2024-05-11 11:43:05 +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: Add PropertyLookupPhase enum to distinguish Object [[Get]] calls 2024-05-04 21:42:59 +02:00
ArgumentsObject.h LibJS: Add PropertyLookupPhase enum to distinguish Object [[Get]] calls 2024-05-04 21:42:59 +02: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: Remove unused target field from Completion 2024-05-10 15:03:24 +00: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/Bytecode: Flatten bytecode to a contiguous representation 2024-05-07 09:15:40 +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: Remove unused target field from Completion 2024-05-10 15:03:24 +00: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 LibJS: Remove unused target field from Completion 2024-05-10 15:03:24 +00:00
Completion.h LibJS/Bytecode: Grab at ThrowCompletionOr errors directly 2024-05-10 15:03:24 +00: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: Make Environment::is_declarative_environment() non-virtual 2024-05-11 15:22:36 +02:00
DeclarativeEnvironment.h LibJS: Make Environment::is_declarative_environment() non-virtual 2024-05-11 15:22:36 +02: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: Emit bytecode for function declaration instantiation 2024-05-11 11:43:05 +02:00
ECMAScriptFunctionObject.h LibJS: Emit bytecode for function declaration instantiation 2024-05-11 11:43:05 +02:00
Environment.cpp LibJS: Make Environment::is_declarative_environment() non-virtual 2024-05-11 15:22:36 +02:00
Environment.h LibJS: Make Environment::is_declarative_environment() non-virtual 2024-05-11 15:22:36 +02: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: Emit bytecode for function declaration instantiation 2024-05-11 11:43:05 +02:00
ExecutionContext.h LibJS: Emit bytecode for function declaration instantiation 2024-05-11 11:43:05 +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: Cache access to properties found in prototype chain 2024-05-04 21:42:59 +02: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: Emit bytecode for function declaration instantiation 2024-05-11 11:43:05 +02: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/Bytecode: Flatten bytecode to a contiguous representation 2024-05-07 09:15:40 +02:00
GeneratorObject.h LibJS: Merge CallFrame into ExecutionContext 2024-05-02 07:26:13 +02:00
GeneratorPrototype.cpp LibJS: Remove unused target field from Completion 2024-05-10 15:03:24 +00: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 LibJS: Avoid string trimming in GlobalObject.parseInt() when possible 2024-05-09 09:12:13 +02:00
GlobalObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IndexedProperties.cpp LibJS/Bytecode: Inline indexed property access in GetByVal better 2024-05-09 09:12:13 +02:00
IndexedProperties.h LibJS/Bytecode: Inline indexed property access in GetByVal better 2024-05-09 09:12:13 +02:00
Intrinsics.cpp LibJS: Cache access to properties found in prototype chain 2024-05-04 21:42:59 +02:00
Intrinsics.h LibJS: Cache access to properties found in prototype chain 2024-05-04 21:42:59 +02: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: Remove unused target field from Completion 2024-05-10 15:03:24 +00: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 LibJS: Add PropertyLookupPhase enum to distinguish Object [[Get]] calls 2024-05-04 21:42:59 +02:00
ModuleNamespaceObject.h LibJS: Add PropertyLookupPhase enum to distinguish Object [[Get]] calls 2024-05-04 21:42:59 +02:00
ModuleRequest.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
NativeFunction.cpp LibJS/Bytecode: Flatten bytecode to a contiguous representation 2024-05-07 09:15:40 +02: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: Cache access to properties found in prototype chain 2024-05-04 21:42:59 +02:00
Object.h LibJS: Cache access to properties found in prototype chain 2024-05-04 21:42:59 +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: Stop using execute_ast_node() for class property evaluation 2024-05-12 19:10:25 +02:00
PrivateEnvironment.h LibJS: Stop using execute_ast_node() for class property evaluation 2024-05-12 19:10:25 +02: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
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 LibJS: Manually limit the recursion depth in Proxy 2024-05-11 13:00:46 +02:00
ProxyObject.h LibJS: Add PropertyLookupPhase enum to distinguish Object [[Get]] calls 2024-05-04 21:42:59 +02:00
Realm.cpp LibJS: Always allocate ExecutionContext objects on the malloc heap 2023-11-29 09:48:18 +01:00
Realm.h LibJS: Make JS::Cell a Weakable 2024-05-04 21:42:59 +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
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
RegExpLegacyStaticProperties.h
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: Emit bytecode for function declaration instantiation 2024-05-11 11:43:05 +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: Cache access to properties found in prototype chain 2024-05-04 21:42:59 +02:00
Shape.h LibJS: Cache access to properties found in prototype chain 2024-05-04 21:42:59 +02: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 LibJS: Add PropertyLookupPhase enum to distinguish Object [[Get]] calls 2024-05-04 21:42:59 +02: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: Mark Value as a trivial type for AK collection purposes 2024-05-09 09:12:13 +02: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: Delete named_evaluation_if_anonymous_function() 2024-05-11 18:16:15 +02:00
VM.h LibJS: Delete named_evaluation_if_anonymous_function() 2024-05-11 18:16:15 +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