1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:17:35 +00:00
serenity/Userland/Libraries/LibJS/Runtime
Andreas Kling 3c74dc9f4d LibJS: Segregate GC-allocated objects by type
This patch adds two macros to declare per-type allocators:

- JS_DECLARE_ALLOCATOR(TypeName)
- JS_DEFINE_ALLOCATOR(TypeName)

When used, they add a type-specific CellAllocator that the Heap will
delegate allocation requests to.

The result of this is that GC objects of the same type always end up
within the same HeapBlock, drastically reducing the ability to perform
type confusion attacks.

It also improves HeapBlock utilization, since each block now has cells
sized exactly to the type used within that block. (Previously we only
had a handful of block sizes available, and most GC allocations ended
up with a large amount of slack in their tails.)

There is a small performance hit from this, but I'm sure we can make
up for it elsewhere.

Note that the old size-based allocators still exist, and we fall back
to them for any type that doesn't have its own CellAllocator.
2023-11-19 12:10:31 +01:00
..
Intl LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Temporal LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AbstractOperations.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
AbstractOperations.h LibJS: Remove unused make_super_property_reference() 2023-09-28 20:34:47 +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
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 LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
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 LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Array.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayBuffer.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayBuffer.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayBufferConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayBufferConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayBufferPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayBufferPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayIteratorPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayIteratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ArrayPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFromSyncIterator.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFromSyncIterator.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFromSyncIteratorPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFromSyncIteratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFunctionConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFunctionConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFunctionDriverWrapper.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncFunctionDriverWrapper.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncGenerator.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AsyncGeneratorFunctionConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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 LibJS: Make PromiseCapability GC-allocated 2022-10-02 23:02:27 +01:00
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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
AtomicsObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BigInt.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BigInt.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BigIntConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
BoundFunction.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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: Change Intl.Locale info APIs from property getters to methods 2023-11-13 20:10:58 +01: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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ConsoleObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DataView.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DataView.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DataViewConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DataViewConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DataViewPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DataViewPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Date.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Date.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DateConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DateConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DatePrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DatePrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DeclarativeEnvironment.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
DeclarativeEnvironment.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ECMAScriptFunctionObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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/JIT: Add fast path for cached GetVariable accesses 2023-11-07 11:33:04 +01:00
EnvironmentCoordinate.h LibJS/JIT: Add fast path for cached GetVariable accesses 2023-11-07 11:33:04 +01:00
Error.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ErrorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ErrorTypes.cpp LibJS: Emit StringViews for ErrorType instances 2022-07-12 23:11:35 +02:00
ErrorTypes.h LibJS+LibWeb: Track SharedArrayBuffers' shared state 2023-09-17 16:29:21 -06:00
ExecutionContext.cpp LibJS: Add file & line number to bytecode VM stack traces :^) 2023-09-02 15:37:53 +02:00
ExecutionContext.h LibJS: Expose various offsets for GetGlobal JIT fast path 2023-11-13 13:33:43 +01:00
FinalizationRegistry.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
FinalizationRegistry.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
FinalizationRegistryPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
FunctionConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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 LibJS: Add a missing include to FunctionKind.h 2023-02-26 19:40:09 +01:00
FunctionObject.cpp LibJS+LibWeb: Devirtualize may_interfere_with_indexed_property_access() 2023-11-10 08:22:44 +01:00
FunctionObject.h LibJS+LibWeb: Devirtualize may_interfere_with_indexed_property_access() 2023-11-10 08:22:44 +01:00
FunctionPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
FunctionPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
GeneratorFunctionConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
GeneratorObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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 LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
GlobalObject.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
GlobalObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IndexedProperties.cpp LibJS: Devirtualize is_simple_storage() 2023-11-10 08:22:44 +01:00
IndexedProperties.h LibJS: Expose offset of m_array_size 2023-11-10 08:22:44 +01:00
Intrinsics.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Intrinsics.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Iterator.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Iterator.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IteratorConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IteratorConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IteratorHelper.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IteratorHelper.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
IteratorPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
JSONObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Map.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Map.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
MapConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
MathObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ModuleNamespaceObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ModuleRequest.h LibJS: Add ModuleWithSpecifier for LoadedModules 2023-10-31 18:09:14 +01:00
NativeFunction.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
NativeFunction.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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 LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
NumberPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Object.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Object.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ObjectConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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 LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ObjectPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ObjectPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PrimitiveString.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PrimitiveString.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromiseConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromisePrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromiseReaction.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromiseReaction.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromiseResolvingElementFunctions.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
PromiseResolvingElementFunctions.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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 AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
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 AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
PrototypeObject.h LibJS: Port PrototypeObject::typed_this_value() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ProxyObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Realm.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Realm.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Reference.cpp LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
Reference.h LibJS: Do not coerce nullish references to unresolvable references 2023-07-06 21:36:13 +01:00
ReflectObject.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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 LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
RegExpObject.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
RegExpPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
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 LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
SetPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
ShadowRealm.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ShadowRealm.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ShadowRealmConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ShadowRealmConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ShadowRealmPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
ShadowRealmPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Shape.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Shape.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SharedArrayBufferConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SharedArrayBufferConstructor.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SharedArrayBufferPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
SharedArrayBufferPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
StringConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
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: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
StringPrototype.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
StringPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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: Add spec comments to SymbolConstructor 2023-04-13 13:04:44 +02: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 LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
TypedArray.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +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: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
TypedArrayPrototype.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
Utf16String.cpp LibJS: Make Utf16String & related APIs infallible 2023-08-09 17:09:16 +02:00
Utf16String.h LibJS: Make Utf16String & related APIs infallible 2023-08-09 17:09:16 +02:00
Value.cpp LibJS: Inline fast case for Value::to_{boolean,number,numeric,primitive} 2023-10-07 07:13:52 +02:00
Value.h LibJS/JIT: Use the x86_64 setcc instruction to remove a branch 2023-11-14 09:54:48 +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 LibJS: Make PrimitiveString::deprecated_string() infallible 2023-08-09 17:09:16 +02:00
VM.cpp LibJS: Remove expensive dead code in get_source_range 2023-11-05 18:44:48 +01:00
VM.h LibJS: Lazily collect stack trace information 2023-11-02 07:37:41 +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: 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 LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
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 LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WeakSetConstructor.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01: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: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
WrapForValidIteratorPrototype.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
WrappedFunction.cpp LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00
WrappedFunction.h LibJS: Segregate GC-allocated objects by type 2023-11-19 12:10:31 +01:00