ladybird/Userland/Libraries/LibJS/Runtime
Andreas Kling cfe663435e LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors
It's not safe to allocate from the GC heap while in the constructor of a
GC heap cell. (Because if this ends up triggering a collection, we may
end up trying to call through an uninitialized vtable).

This was already done safely in the initialize() virtual in much of
LibJS and LibWeb. This patch moves the logic for prototypes, mixins,
and CSSStyleDeclaration as well.

Fixes a long-standing GC crash that was pretty easy to reproduce by
refreshing https://vercel.com/
2023-05-21 14:23:58 +02:00
..
Intl LibJS: Port iterator_step() to GCPtr 2023-04-15 16:23:03 +02:00
Temporal LibJS: Port iterator_step() to GCPtr 2023-04-15 16:23:03 +02:00
AbstractOperations.cpp LibJS: Port Value::get_method() to GCPtr 2023-04-14 09:59:29 +02:00
AbstractOperations.h LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
Accessor.h LibJS+LibWeb: Normalize calls to Base::visit_edges in GC objects 2023-04-30 06:04:33 +02:00
AggregateError.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AggregateError.h LibJS: Convert AggregateError::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
AggregateErrorConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AggregateErrorConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
AggregateErrorPrototype.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AggregateErrorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ArgumentsObject.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ArgumentsObject.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Array.cpp LibJS: Update spec numbers / text for the Change Array by Copy proposal 2023-03-20 16:33:16 +00:00
Array.h LibJS: Update spec numbers / text for the Change Array by Copy proposal 2023-03-20 16:33:16 +00:00
ArrayBuffer.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ArrayBuffer.h LibJS+LibWeb: Move headers around to allow including Value from Cell 2023-01-29 00:02:45 +00:00
ArrayBufferConstructor.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ArrayBufferConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ArrayBufferPrototype.cpp LibJS: Port PrototypeObject::typed_this_value() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
ArrayBufferPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ArrayConstructor.cpp LibJS: Port iterator_step() to GCPtr 2023-04-15 16:23:03 +02:00
ArrayConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ArrayIterator.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ArrayIterator.h LibJS: Convert ArrayIterator::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
ArrayIteratorPrototype.cpp LibJS: Port PrototypeObject::typed_this_value() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
ArrayIteratorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ArrayPrototype.cpp LibJS: Port Value::to_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
ArrayPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
AsyncFromSyncIterator.cpp LibJS+LibWeb: Add missing visit calls in visit_edges implementations 2023-04-30 06:04:33 +02:00
AsyncFromSyncIterator.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
AsyncFromSyncIteratorPrototype.cpp LibJS: Port create_iterator_result_object() to NonnullGCPtr 2023-04-15 16:26:42 +02:00
AsyncFromSyncIteratorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
AsyncFunctionConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AsyncFunctionConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
AsyncFunctionDriverWrapper.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AsyncFunctionDriverWrapper.h LibJS: Overhaul AsyncFunctionDriverWrapper to make it actually work 2023-02-26 19:40:09 +01:00
AsyncFunctionPrototype.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AsyncFunctionPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
AsyncGenerator.cpp LibJS: Remove Object(Object& prototype) footgun 2022-12-14 15:11:57 +01:00
AsyncGenerator.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
AsyncGeneratorFunctionConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AsyncGeneratorFunctionConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
AsyncGeneratorFunctionPrototype.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AsyncGeneratorFunctionPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
AsyncGeneratorPrototype.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AsyncGeneratorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
AsyncGeneratorRequest.h LibJS: Make PromiseCapability GC-allocated 2022-10-02 23:02:27 +01:00
AsyncIteratorPrototype.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AsyncIteratorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
AtomicsObject.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
AtomicsObject.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
BigInt.cpp LibJS: Define BigInt::to_string to complement to_deprecated_string 2023-02-16 14:32:22 +01:00
BigInt.h LibJS: Define BigInt::to_string to complement to_deprecated_string 2023-02-16 14:32:22 +01:00
BigIntConstructor.cpp LibJS: Port Value::to_bigint() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
BigIntConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
BigIntObject.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
BigIntObject.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
BigIntPrototype.cpp LibJS: Port this_bigint_value() to NonnullGCPtr 2023-04-15 16:06:02 +02:00
BigIntPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
BooleanConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
BooleanConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
BooleanObject.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
BooleanObject.h LibJS: Convert BooleanObject::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
BooleanPrototype.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
BooleanPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
BoundFunction.cpp LibJS+Everywhere: Propagate Cell::initialize errors from Heap::allocate 2023-01-29 00:02:45 +00:00
BoundFunction.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
CanonicalIndex.h LibJS: Protect CanonicalIndex against double-to-integer overflow 2022-12-07 16:43:19 +00:00
ClassFieldDefinition.h LibJS: Include Environment.h directly in ClassFieldDefinition.h 2022-10-01 15:36:20 +01:00
CommonPropertyNames.h LibJS: Add DisposableStack{, Prototype, Constructor} 2023-01-23 09:56:50 +00:00
Completion.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
Completion.h LibJS: Use a forwarding reference in ThrowCompletion constructor 2023-03-06 13:05:43 +00:00
ConsoleObject.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ConsoleObject.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
DataView.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
DataView.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
DataViewConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
DataViewConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
DataViewPrototype.cpp LibJS: Port PrototypeObject::typed_this_value() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
DataViewPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
Date.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
Date.h LibJS+LibWeb: Move headers around to allow including Value from Cell 2023-01-29 00:02:45 +00:00
DateConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
DateConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
DatePrototype.cpp LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
DatePrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
DeclarativeEnvironment.cpp Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
DeclarativeEnvironment.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
DisposableStack.cpp LibJS: Add DisposableStack{, Prototype, Constructor} 2023-01-23 09:56:50 +00:00
DisposableStack.h LibJS: Add DisposableStack{, Prototype, Constructor} 2023-01-23 09:56:50 +00:00
DisposableStackConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
DisposableStackConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
DisposableStackPrototype.cpp LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
DisposableStackPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ECMAScriptFunctionObject.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ECMAScriptFunctionObject.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Environment.cpp LibJS+LibWeb: Normalize calls to Base::visit_edges in GC objects 2023-04-30 06:04:33 +02:00
Environment.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
EnvironmentCoordinate.h LibJS: Shrink Identifier's environment coordinate cache 2022-11-22 21:13:35 +01:00
Error.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
Error.h LibJS+Everywhere: Convert JS::Error to String 2023-02-17 09:14:23 -05:00
ErrorConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ErrorConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ErrorPrototype.cpp LibJS: Port PrototypeObject::this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
ErrorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ErrorTypes.cpp LibJS: Emit StringViews for ErrorType instances 2022-07-12 23:11:35 +02:00
ErrorTypes.h LibJS/Temporal: Allow annotations after YYYY-MM and MM-DD 2023-02-11 18:42:32 +00:00
ExecutionContext.cpp LibJS: Make it possible to visit the edges of an ExecutionContext 2022-12-12 13:58:32 +00:00
ExecutionContext.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
FinalizationRegistry.cpp LibJS: Add spec comments to FinalizationRegistryPrototype 2023-01-28 00:41:18 +00:00
FinalizationRegistry.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
FinalizationRegistryConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
FinalizationRegistryConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
FinalizationRegistryPrototype.cpp LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
FinalizationRegistryPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
FunctionConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
FunctionConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
FunctionEnvironment.cpp LibJS: Make FunctionEnvironment not include ECMAScriptFunctionObject.h 2022-11-23 16:05:59 +00:00
FunctionEnvironment.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
FunctionKind.h LibJS: Add a missing include to FunctionKind.h 2023-02-26 19:40:09 +01:00
FunctionObject.cpp LibJS: Unify Symbol::description() and raw_description() 2023-02-11 21:47:57 +00:00
FunctionObject.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
FunctionPrototype.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
FunctionPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
GeneratorFunctionConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
GeneratorFunctionConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
GeneratorFunctionPrototype.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
GeneratorFunctionPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
GeneratorObject.cpp LibJS: Port Value::to_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
GeneratorObject.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
GeneratorPrototype.cpp LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
GeneratorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
GlobalEnvironment.cpp LibJS: Add an initialize binding hint to all initialize_binding methods 2023-01-23 09:56:50 +00:00
GlobalEnvironment.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
GlobalObject.cpp LibJS: Add spec comments to GlobalObject 2023-04-15 14:07:28 +02:00
GlobalObject.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
IndexedProperties.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
IndexedProperties.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Intrinsics.cpp LibJS+LibWeb: Add missing visit calls in visit_edges implementations 2023-04-30 06:04:33 +02:00
Intrinsics.h LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
Iterator.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
IteratorOperations.cpp LibJS: Port create_iterator_result_object() to NonnullGCPtr 2023-04-15 16:26:42 +02:00
IteratorOperations.h LibJS: Port create_iterator_result_object() to NonnullGCPtr 2023-04-15 16:26:42 +02:00
IteratorPrototype.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
IteratorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
JobCallback.cpp LibJS: Move JobCallback functions out-of-line 2022-11-23 16:05:59 +00:00
JobCallback.h LibJS: Move JobCallback functions out-of-line 2022-11-23 16:05:59 +00:00
JSONObject.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
JSONObject.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Map.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
Map.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
MapConstructor.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
MapConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
MapIterator.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
MapIterator.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
MapIteratorPrototype.cpp LibJS: Port PrototypeObject::typed_this_value() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
MapIteratorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
MapPrototype.cpp LibJS: Add spec comments to MapPrototype 2023-04-15 14:07:28 +02:00
MapPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
MathObject.cpp LibJS: Add spec comments to MathObject 2023-04-15 14:07:28 +02:00
MathObject.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ModuleEnvironment.cpp AK+Everywhere: Rename FlyString to DeprecatedFlyString 2023-01-09 23:00:24 +00:00
ModuleEnvironment.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
ModuleNamespaceObject.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ModuleNamespaceObject.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
ModuleRequest.h AK+Everywhere: Rename FlyString to DeprecatedFlyString 2023-01-09 23:00:24 +00:00
NativeFunction.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
NativeFunction.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
NumberConstructor.cpp LibJS: Add spec comments to NumberConstructor 2023-04-15 14:07:28 +02:00
NumberConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
NumberObject.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
NumberObject.h LibJS: Convert NumberObject::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
NumberPrototype.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
NumberPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
Object.cpp LibJS+LibWeb: Normalize calls to Base::visit_edges in GC objects 2023-04-30 06:04:33 +02:00
Object.h LibWeb+LibJS: Don't lazily construct web prototypes in cell constructors 2023-05-21 14:23:58 +02:00
ObjectConstructor.cpp LibJS: Add spec comments to ObjectConstructor 2023-04-15 14:07:28 +02:00
ObjectConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ObjectEnvironment.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ObjectEnvironment.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
ObjectPrototype.cpp LibJS: Add spec comments to ObjectPrototype 2023-04-15 14:07:28 +02:00
ObjectPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
PrimitiveString.cpp LibJS+LibWeb: Normalize calls to Base::visit_edges in GC objects 2023-04-30 06:04:33 +02:00
PrimitiveString.h LibJS: Add a PrimitiveString::create overload for FlyString 2023-03-18 19:50:45 +01:00
PrivateEnvironment.cpp LibJS+LibWeb: Normalize calls to Base::visit_edges in GC objects 2023-04-30 06:04:33 +02:00
PrivateEnvironment.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Promise.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
Promise.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PromiseCapability.cpp LibJS+LibWeb: Normalize calls to Base::visit_edges in GC objects 2023-04-30 06:04:33 +02:00
PromiseCapability.h AK+Everywhere: Do not implicitly copy variables in TRY macros 2023-02-10 09:08:52 +00:00
PromiseConstructor.cpp LibJS: Port iterator_step() to GCPtr 2023-04-15 16:23:03 +02:00
PromiseConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
PromiseJobs.cpp LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PromiseJobs.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PromisePrototype.cpp LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
PromisePrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
PromiseReaction.cpp LibJS+LibWeb: Normalize calls to Base::visit_edges in GC objects 2023-04-30 06:04:33 +02:00
PromiseReaction.h LibJS: Convert PromiseReaction::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
PromiseResolvingElementFunctions.cpp LibJS+LibWeb: Normalize calls to Base::visit_edges in GC objects 2023-04-30 06:04:33 +02:00
PromiseResolvingElementFunctions.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PromiseResolvingFunction.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
PromiseResolvingFunction.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PropertyAttributes.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
PropertyDescriptor.cpp LbJS: Convert exception-related usages of Value::TDSWOSE to String 2023-02-16 14:32:22 +01:00
PropertyDescriptor.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
PropertyKey.h LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
PrototypeObject.h LibJS: Port PrototypeObject::typed_this_value() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
ProxyConstructor.cpp LibJS: Add spec comments to ProxyConstructor 2023-04-15 14:07:28 +02:00
ProxyConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ProxyObject.cpp LibJS: Guard against stack overflow in ProxyObject set_property() 2023-05-06 06:46:02 -07:00
ProxyObject.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Realm.cpp LibJS: Propagate errors from Intrinsics initialization 2023-02-27 23:57:08 +00:00
Realm.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Reference.cpp LibJS: Port Value::to_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
Reference.h Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
ReflectObject.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ReflectObject.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
RegExpConstructor.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
RegExpConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
RegExpLegacyStaticProperties.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
RegExpLegacyStaticProperties.h Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
RegExpObject.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
RegExpObject.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
RegExpPrototype.cpp LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
RegExpPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
RegExpStringIterator.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
RegExpStringIterator.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
RegExpStringIteratorPrototype.cpp LibJS: Port PrototypeObject::typed_this_value() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
RegExpStringIteratorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
Set.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
Set.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
SetConstructor.cpp LibJS: Make well-known symbol getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
SetConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
SetIterator.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
SetIterator.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
SetIteratorPrototype.cpp LibJS: Port PrototypeObject::typed_this_value() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
SetIteratorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
SetPrototype.cpp LibJS: Port iterator_step() to GCPtr 2023-04-15 16:23:03 +02:00
SetPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ShadowRealm.cpp LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
ShadowRealm.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
ShadowRealmConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
ShadowRealmConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ShadowRealmPrototype.cpp LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
ShadowRealmPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
Shape.cpp LibJS+LibWeb: Explicitly mark ignored members in visit_edges methods 2023-04-30 06:04:33 +02:00
Shape.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
StringConstructor.cpp LibJS: Port Value::to_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
StringConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
StringIterator.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
StringIterator.h LibJS: Port StringIterator to String 2023-01-16 10:12:37 +00:00
StringIteratorPrototype.cpp LibJS: Port PrototypeObject::typed_this_value() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
StringIteratorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
StringObject.cpp LibJS: Add spec comments to StringObject 2023-04-15 14:07:28 +02:00
StringObject.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
StringOrSymbol.h LibJS: Port Symbol to String 2023-02-11 21:47:57 +00:00
StringPrototype.cpp LibJS: Port this_string_value() to NonnullGCPtr 2023-04-15 16:06:18 +02:00
StringPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
SuppressedError.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
SuppressedError.h LibJS: Add SuppressedError{, Prototype, Constructor} 2023-01-23 09:56:50 +00:00
SuppressedErrorConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
SuppressedErrorConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
SuppressedErrorPrototype.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
SuppressedErrorPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
Symbol.cpp LibJS: Add spec comments to SymbolConstructor 2023-04-13 13:04:44 +02:00
Symbol.h LibJS: Add spec comments to SymbolConstructor 2023-04-13 13:04:44 +02:00
SymbolConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
SymbolConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
SymbolObject.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
SymbolObject.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
SymbolPrototype.cpp LibJS: Port this_symbol_value() to NonnullGCPtr 2023-04-15 16:06:52 +02:00
SymbolPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
ThrowableStringBuilder.cpp LibJS: Pre-allocate the out-of-memory error string on the VM 2023-02-17 09:14:23 -05:00
ThrowableStringBuilder.h LibJS: Add a throwable StringBuilder::join method 2023-02-17 09:14:23 -05:00
TypedArray.cpp LibJS: Port Value::to_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
TypedArray.h LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
TypedArrayConstructor.cpp LibJS: Port Value::get_method() to GCPtr 2023-04-14 09:59:29 +02:00
TypedArrayConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
TypedArrayPrototype.cpp LibJS: Port Value::to_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
TypedArrayPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
Utf16String.cpp LibJS: Define Utf16String::to_utf8 to convert Utf16String to String 2023-01-15 01:00:20 +00:00
Utf16String.h LibJS: Define Utf16String::to_utf8 to convert Utf16String to String 2023-01-15 01:00:20 +00:00
Value.cpp LibJS: Port Value::get_method() to GCPtr 2023-04-14 09:59:29 +02:00
Value.h LibJS: Port Value::get_method() to GCPtr 2023-04-14 09:59:29 +02:00
ValueTraits.h LibJS+LibWeb: Move headers around to allow including Value from Cell 2023-01-29 00:02:45 +00:00
VM.cpp LibJS: Port iterator_step() to GCPtr 2023-04-15 16:23:03 +02:00
VM.h LibWeb+Browser+Ladybird: Use JS::SafeFunction for EventLoop callbacks 2023-04-21 20:44:47 +01:00
WeakContainer.cpp LibJS: Use IntrusiveList for keeping track of WeakContainers 2021-07-21 20:17:55 +02:00
WeakContainer.h LibJS: Add missing headers 2021-10-06 23:52:40 +01:00
WeakMap.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
WeakMap.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
WeakMapConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
WeakMapConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
WeakMapPrototype.cpp LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
WeakMapPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
WeakRef.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
WeakRef.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
WeakRefConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
WeakRefConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
WeakRefPrototype.cpp LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
WeakRefPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
WeakSet.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
WeakSet.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
WeakSetConstructor.cpp LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
WeakSetConstructor.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
WeakSetPrototype.cpp LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
WeakSetPrototype.h LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errors 2023-01-29 00:02:45 +00:00
WrappedFunction.cpp LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
WrappedFunction.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00