ladybird/Libraries/LibJS/Runtime
Andreas Kling f574ef528d LibJS: Replace Vector<Value> with Value* for named property storage
Replace the 24-byte Vector<Value> m_storage with an 8-byte raw
Value* m_named_properties pointer, backed by a malloc'd allocation
with an inline capacity header.

Memory layout of the allocation:
  [u32 capacity] [u32 padding] [Value 0] [Value 1] ...
  m_named_properties points to Value 0.

This shrinks JS::Object from 64 to 48 bytes (on non-Windows
platforms) and removes one level of indirection for property access
in the asm interpreter, since the data pointer is now stored directly
on the object rather than inside a Vector's internal metadata.

Growth policy: max(4, max(needed, old_capacity * 2)).
2026-03-17 22:28:35 -05:00
..
Intl LibJS+LibUnicode: Add an API to loop over Unicode extensions of one type 2026-03-14 08:17:03 -04:00
JavaScriptImplementations LibJS: Replace Array.fromAsync with a native JavaScript implementation 2025-11-30 11:54:54 +01:00
Temporal LibJS: Format "islamic" and "islamic-rgsa" calendars as "islamic-tbla" 2026-03-13 14:43:45 -04:00
AbstractOperations.cpp LibJS: Replace arguments Span with argument_count in ExecutionContext 2026-03-11 13:33:47 +01:00
AbstractOperations.h LibJS+LibUnicode: Migrate some Temporal calendar types to LibUnicode 2026-03-09 11:40:59 +01:00
Accessor.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Accessor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Agent.cpp LibJS: Switch Agent [[CanBlock]] slot to a enum member 2025-04-25 14:07:51 +02:00
Agent.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
AggregateError.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AggregateError.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AggregateErrorConstructor.cpp LibJS: Make internal_define_own_property() save added property offset 2025-09-17 12:44:44 +02:00
AggregateErrorConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AggregateErrorPrototype.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AggregateErrorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ArgumentsObject.cpp LibJS: Mark ArgumentsObject as non-interfering if parameter list empty 2025-12-10 17:40:57 -06:00
ArgumentsObject.h LibJS: Mark ArgumentsObject as non-interfering if parameter list empty 2025-12-10 17:40:57 -06:00
Array.cpp LibJS: Convert Object bitfields to a flags byte 2026-03-07 13:09:59 +01:00
Array.h LibJS: Add inline caching for adding new own properties to objects 2025-09-17 12:44:44 +02:00
ArrayBuffer.cpp LibJS: Don't crash on enormous maxByteLengths for SharedArrayBuffer 2026-01-05 06:38:55 -05:00
ArrayBuffer.h LibJS: Crudely implement growable SharedArrayBuffers 2026-01-04 07:47:55 +01:00
ArrayBufferConstructor.cpp LibJS: Make more use of Value::is and Value::as_if 2026-02-28 10:24:37 -05:00
ArrayBufferConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ArrayBufferPrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
ArrayBufferPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ArrayConstructor.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
ArrayConstructor.h LibJS: Replace Array.fromAsync with a native JavaScript implementation 2025-11-30 11:54:54 +01:00
ArrayIterator.cpp LibJS: Avoid IteratorRecord GC-allocation in GetIterator instruction 2025-11-02 20:05:47 +01:00
ArrayIterator.h LibJS: Avoid IteratorRecord GC-allocation in GetIterator instruction 2025-11-02 20:05:47 +01:00
ArrayIteratorPrototype.cpp LibJS: Do more comprehensive check if next() fast path is possible 2025-06-02 00:15:36 +02:00
ArrayIteratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ArrayPrototype.cpp LibJS: Replace GC::Weak with GC::RawPtr in inline cache entries 2026-03-08 10:27:13 +01:00
ArrayPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AsyncDisposableStack.cpp LibJS: Implement the AsyncDisposableStack interface 2025-01-17 20:46:32 +01:00
AsyncDisposableStack.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AsyncDisposableStackConstructor.cpp LibJS: Implement the AsyncDisposableStack interface 2025-01-17 20:46:32 +01:00
AsyncDisposableStackConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AsyncDisposableStackPrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
AsyncDisposableStackPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AsyncFromSyncIterator.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AsyncFromSyncIterator.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AsyncFromSyncIteratorPrototype.cpp LibJS: Avoid IteratorRecord GC-allocation in GetIterator instruction 2025-11-02 20:05:47 +01:00
AsyncFromSyncIteratorPrototype.h LibJS: Avoid IteratorRecord GC-allocation in GetIterator instruction 2025-11-02 20:05:47 +01:00
AsyncFunctionConstructor.cpp LibJS: Replace arguments Span with argument_count in ExecutionContext 2026-03-11 13:33:47 +01:00
AsyncFunctionConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AsyncFunctionDriverWrapper.cpp LibJS: Synchronous await fast path when microtask queue is empty 2026-03-16 19:15:03 -05:00
AsyncFunctionDriverWrapper.h LibJS: Synchronous await fast path when microtask queue is empty 2026-03-16 19:15:03 -05:00
AsyncFunctionPrototype.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AsyncFunctionPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AsyncGenerator.cpp LibJS: Replace GC::Weak with GC::RawPtr in inline cache entries 2026-03-08 10:27:13 +01:00
AsyncGenerator.h LibJS: Introduce NativeJavaScriptBackedFunction 2025-11-30 11:54:54 +01:00
AsyncGeneratorFunctionConstructor.cpp LibJS: Replace arguments Span with argument_count in ExecutionContext 2026-03-11 13:33:47 +01:00
AsyncGeneratorFunctionConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AsyncGeneratorFunctionPrototype.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AsyncGeneratorFunctionPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AsyncGeneratorPrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
AsyncGeneratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AsyncGeneratorRequest.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AsyncIteratorPrototype.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AsyncIteratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
AtomicsObject.cpp LibJS: Compute byteIndexInBuffer sooner in Atomic's DoWait 2025-12-03 12:08:40 +01:00
AtomicsObject.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
BigInt.cpp LibJS: Add a method to stringify a BigInt to UTF-16 2025-08-14 10:27:08 +02:00
BigInt.h LibJS: Add a method to stringify a BigInt to UTF-16 2025-08-14 10:27:08 +02:00
BigIntConstructor.cpp LibCrypto: Replace {Unsigned,Signed}BigInteger impl with LibTomMath 2025-05-23 11:57:21 +02:00
BigIntConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
BigIntObject.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
BigIntObject.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
BigIntPrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
BigIntPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
BooleanConstructor.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
BooleanConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
BooleanObject.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
BooleanObject.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
BooleanPrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
BooleanPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
BoundFunction.cpp LibJS: Replace arguments Span with argument_count in ExecutionContext 2026-03-11 13:33:47 +01:00
BoundFunction.h LibJS: Make bytecode generation infallible 2026-02-12 11:37:43 +01:00
ByteLength.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
CanonicalIndex.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ClassConstruction.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
ClassConstruction.h LibJS: Add AST-free construct_class() 2026-02-11 23:57:41 +01:00
ClassFieldDefinition.cpp LibJS+LibWeb: Add missing GC marking visits 2026-01-07 12:48:58 +01:00
ClassFieldDefinition.h LibJS+LibWeb: Add missing GC marking visits 2026-01-07 12:48:58 +01:00
CommonPropertyNames.h LibJS: Implement Iterator.zipKeyed 2026-02-26 13:54:35 -05:00
Completion.cpp WebContent: Enable in Windows CI 2025-08-23 16:04:36 -06:00
Completion.h LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
CompletionCell.cpp LibJS: Make Completion.[[Value]] non-optional 2025-04-05 11:20:26 +02:00
CompletionCell.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ConsoleObject.cpp LibJS: Implement console.dirxml 2025-08-17 07:28:56 -04:00
ConsoleObject.h LibJS: Export symbols causing linker errors in various consumers 2025-08-23 16:04:36 -06:00
ConsoleObjectPrototype.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ConsoleObjectPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DataView.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
DataView.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
DataViewConstructor.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
DataViewConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DataViewPrototype.cpp LibJS: Update spec steps / links for the Float16Array proposal 2025-04-29 07:33:08 -04:00
DataViewPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Date.cpp LibJS/Temporal: Implement finding time zone transitions 2026-01-16 07:00:02 -05:00
Date.h LibJS/Temporal: Implement finding time zone transitions 2026-01-16 07:00:02 -05:00
DateConstructor.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
DateConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DateParser.h LibJS: DateParser for simplified ISO8601 and non-standard date strings 2025-05-26 18:48:09 +02:00
DatePrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
DatePrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DeclarativeEnvironment.cpp LibJS: Remove unused Badge-gated DeclarativeEnvironment methods 2026-02-11 23:57:41 +01:00
DeclarativeEnvironment.h LibJS: Remove unused Badge-gated DeclarativeEnvironment methods 2026-02-11 23:57:41 +01:00
DisposableStack.cpp LibJS: Bring the explicit resource management implementation up to date 2025-01-17 20:46:32 +01:00
DisposableStack.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DisposableStackConstructor.cpp LibJS: Bring the explicit resource management implementation up to date 2025-01-17 20:46:32 +01:00
DisposableStackConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DisposableStackPrototype.cpp LibJS: Make Completion.[[Value]] non-optional 2025-04-05 11:20:26 +02:00
DisposableStackPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ECMAScriptFunctionObject.cpp Revert "LibJS: Shrink ExecutionContext by replacing ScriptOrModule …" 2026-03-11 23:13:18 +00:00
ECMAScriptFunctionObject.h Revert "LibJS: Shrink ExecutionContext by replacing ScriptOrModule …" 2026-03-11 23:13:18 +00:00
Environment.cpp LibJS: Limit eval() deoptimization to the containing function scope 2026-01-27 10:58:39 +01:00
Environment.h LibJS: Limit eval() deoptimization to the containing function scope 2026-01-27 10:58:39 +01:00
EnvironmentCoordinate.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Error.cpp LibJS: Move source range cache from ExecutionContext to Executable 2026-03-11 13:33:47 +01:00
Error.h LibJS: Move source range cache from ExecutionContext to Executable 2026-03-11 13:33:47 +01:00
ErrorConstructor.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
ErrorConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ErrorPrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
ErrorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ErrorTypes.cpp Revert "LibJS: Revert common error types to only hold a single string" 2025-08-18 13:42:22 +02:00
ErrorTypes.h LibJS: Implement Iterator.zip 2026-02-26 13:54:35 -05:00
ExecutionContext.cpp Revert "LibJS: Shrink ExecutionContext by replacing ScriptOrModule …" 2026-03-11 23:13:18 +00:00
ExecutionContext.h Revert "LibJS: Shrink ExecutionContext by replacing ScriptOrModule …" 2026-03-11 23:13:18 +00:00
FinalizationRegistry.cpp AK+LibJS: Make SinglyLinkedList::remove() return a new iterator 2025-12-25 20:21:37 +01:00
FinalizationRegistry.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
FinalizationRegistryConstructor.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
FinalizationRegistryConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
FinalizationRegistryPrototype.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
FinalizationRegistryPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
FunctionConstructor.cpp LibJS: Replace arguments Span with argument_count in ExecutionContext 2026-03-11 13:33:47 +01:00
FunctionConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
FunctionEnvironment.cpp LibJS: Introduce NativeJavaScriptBackedFunction 2025-11-30 11:54:54 +01:00
FunctionEnvironment.h LibJS: Shrink FunctionEnvironment by reordering members a bit 2025-12-21 12:08:41 -06:00
FunctionKind.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
FunctionObject.cpp LibJS: Convert Object bitfields to a flags byte 2026-03-07 13:09:59 +01:00
FunctionObject.h LibJS: Convert Object bitfields to a flags byte 2026-03-07 13:09:59 +01:00
FunctionPrototype.cpp LibJS: Replace arguments Span with argument_count in ExecutionContext 2026-03-11 13:33:47 +01:00
FunctionPrototype.h LibJS: Remove ExecutionContext::function_name field 2025-10-29 21:20:10 +01:00
GeneratorFunctionConstructor.cpp LibJS: Replace arguments Span with argument_count in ExecutionContext 2026-03-11 13:33:47 +01:00
GeneratorFunctionConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
GeneratorFunctionPrototype.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
GeneratorFunctionPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
GeneratorObject.cpp LibJS: Replace GC::Weak with GC::RawPtr in inline cache entries 2026-03-08 10:27:13 +01:00
GeneratorObject.h LibJS: Introduce NativeJavaScriptBackedFunction 2025-11-30 11:54:54 +01:00
GeneratorPrototype.cpp LibJS: Skip iteration result allocation in AsyncFunctionDriverWrapper 2025-05-09 12:30:15 +02:00
GeneratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
GeneratorResult.cpp LibJS: Make async functions & generators faster with helper types 2025-04-01 02:30:42 +02:00
GeneratorResult.h LibJS+LibWeb: Add various fast_is<T>() helpers for common things 2025-12-20 09:13:19 -06:00
GlobalEnvironment.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
GlobalEnvironment.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
GlobalObject.cpp LibJS: Reject surrogate code points in URI decoding 2026-02-14 17:29:13 +01:00
GlobalObject.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
IndexedProperties.cpp LibJS: Fast-path own-property enumeration and reduce descriptor lookups 2025-09-21 15:06:32 +02:00
IndexedProperties.h LibJS: Visit entire SimpleIndexedProperties packed vector in bulk 2026-01-08 00:26:57 +01:00
InterpreterStack.cpp LibJS: Add InterpreterStack bump allocator for execution contexts 2026-03-04 18:53:12 +01:00
InterpreterStack.h LibJS: Add InterpreterStack bump allocator for execution contexts 2026-03-04 18:53:12 +01:00
Intrinsics.cpp LibJS: Add alternative source-to-bytecode pipeline in Rust 2026-02-24 09:39:42 +01:00
Intrinsics.h LibJS: Lazily instantiate "prototype" field on ECMAScriptFunctionObject 2025-12-17 12:50:17 -06:00
Iterator.cpp LibJS: Replace GC::Weak with GC::RawPtr in inline cache entries 2026-03-08 10:27:13 +01:00
Iterator.h LibJS: Implement Iterator.zip 2026-02-26 13:54:35 -05:00
IteratorConstructor.cpp LibJS: Replace GC::Weak with GC::RawPtr in inline cache entries 2026-03-08 10:27:13 +01:00
IteratorConstructor.h LibJS: Implement Iterator.zipKeyed 2026-02-26 13:54:35 -05:00
IteratorHelper.cpp LibJS: Directly indicate when the IteratorHelper generator is complete 2025-12-03 12:08:40 +01:00
IteratorHelper.h LibJS: Directly indicate when the IteratorHelper generator is complete 2025-12-03 12:08:40 +01:00
IteratorHelperPrototype.cpp LibJS: Replace [[UnderlyingIterator]] with [[UnderlyingIterators]] 2025-12-03 12:08:40 +01:00
IteratorHelperPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
IteratorPrototype.cpp LibJS: Directly indicate when the IteratorHelper generator is complete 2025-12-03 12:08:40 +01:00
IteratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
JobCallback.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
JobCallback.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
JSONObject.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
JSONObject.h LibJS: Optimize JSON.stringify with single StringBuilder 2026-01-12 13:53:28 -05:00
KeyedCollections.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
KeyedCollections.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Map.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Map.h LibJS+LibWeb: Add missing GC marking visits 2026-01-07 12:48:58 +01:00
MapConstructor.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
MapConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
MapIterator.cpp LibJS+LibWeb: Add missing GC marking visits 2026-01-07 12:48:58 +01:00
MapIterator.h LibJS: Mark MapIterator for export 2026-02-17 12:25:27 +00:00
MapIteratorPrototype.cpp LibJS: Do more comprehensive check if next() fast path is possible 2025-06-02 00:15:36 +02:00
MapIteratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
MapPrototype.cpp LibJS: Implement Map.prototype.getOrInsert[Computed] 2025-10-03 08:58:40 +02:00
MapPrototype.h LibJS: Implement Map.prototype.getOrInsert[Computed] 2025-10-03 08:58:40 +02:00
MathObject.cpp LibCrypto+AK: Merge LibCrypto/SecureRandom into AK/Random 2026-01-23 15:53:27 +01:00
MathObject.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ModuleEnvironment.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
ModuleEnvironment.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
ModuleNamespaceObject.cpp LibJS: Add inline caching for adding new own properties to objects 2025-09-17 12:44:44 +02:00
ModuleNamespaceObject.h LibJS: Fast-path own-property enumeration and reduce descriptor lookups 2025-09-21 15:06:32 +02:00
ModuleRequest.h LibJS: Sync additional Import Attributes spec changes 2025-10-22 10:58:19 +02:00
NativeFunction.cpp LibJS: Remove vestigial AST.h includes from runtime files 2026-02-11 23:57:41 +01:00
NativeFunction.h LibJS: Simplify how we know which builtin a FunctionObject represents 2025-12-25 23:59:21 +01:00
NativeJavaScriptBackedFunction.cpp LibJS: Add alternative source-to-bytecode pipeline in Rust 2026-02-24 09:39:42 +01:00
NativeJavaScriptBackedFunction.h LibJS: Make bytecode generation infallible 2026-02-12 11:37:43 +01:00
NumberConstructor.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
NumberConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
NumberObject.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
NumberObject.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
NumberPrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
NumberPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Object.cpp LibJS: Replace Vector<Value> with Value* for named property storage 2026-03-17 22:28:35 -05:00
Object.h LibJS: Replace Vector<Value> with Value* for named property storage 2026-03-17 22:28:35 -05:00
ObjectConstructor.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
ObjectConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ObjectEnvironment.cpp LibJS: Make internal_define_own_property() save added property offset 2025-09-17 12:44:44 +02:00
ObjectEnvironment.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
ObjectPrototype.cpp LibJS: Replace GC::Weak with GC::RawPtr in inline cache entries 2026-03-08 10:27:13 +01:00
ObjectPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
PrimitiveString.cpp LibJS: Return UTF16String's ASCII storage when applicable 2026-02-26 00:02:17 +01:00
PrimitiveString.h LibGC+ClangPlugins: Forbid non-trivial destructors in Cell subclasses 2026-01-30 20:57:42 +01:00
PrivateEnvironment.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
PrivateEnvironment.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
Promise.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
Promise.h LibJS: Rearrange members to shrink Promise by 8 bytes 2025-12-21 12:08:41 -06:00
PromiseCapability.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
PromiseCapability.h LibJS: Export symbols causing linker errors in various consumers 2025-08-23 16:04:36 -06:00
PromiseConstructor.cpp LibJS: Replace arguments Span with argument_count in ExecutionContext 2026-03-11 13:33:47 +01:00
PromiseConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
PromiseJobs.cpp LibJS: Make Completion.[[Value]] non-optional 2025-04-05 11:20:26 +02:00
PromiseJobs.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
PromisePrototype.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
PromisePrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
PromiseReaction.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
PromiseReaction.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
PromiseResolvingElementFunctions.cpp LibJS: Make internal_define_own_property() save added property offset 2025-09-17 12:44:44 +02:00
PromiseResolvingElementFunctions.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
PromiseResolvingFunction.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
PromiseResolvingFunction.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
PropertyAttributes.h LibJS: Make PropertyAttributes and default_attributes constexpr 2026-01-18 10:10:04 +01:00
PropertyDescriptor.cpp LibGC+LibJS+LibWeb: Add Visitor::visit(Optional<T>) 2026-01-06 10:55:56 +01:00
PropertyDescriptor.h LibJS+LibWeb: Add missing visits for cached cross-origin properties 2026-01-06 00:01:01 +01:00
PropertyKey.h AK+Everywhere: Use MurmurHash3 for int/u64 hashing 2026-02-20 22:47:24 +01:00
PrototypeObject.h LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
ProxyConstructor.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
ProxyConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ProxyObject.cpp LibJS: Replace arguments Span with argument_count in ExecutionContext 2026-03-11 13:33:47 +01:00
ProxyObject.h LibJS: Convert Object bitfields to a flags byte 2026-03-07 13:09:59 +01:00
RawJSONObject.cpp LibJS: Implement rawJSON and isRawJSON functions 2025-04-24 09:33:49 -04:00
RawJSONObject.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Realm.cpp Revert "LibJS: Shrink ExecutionContext by replacing ScriptOrModule …" 2026-03-11 23:13:18 +00:00
Realm.h LibJS: Cache global declarative environment pointer in Realm 2026-03-11 13:33:47 +01:00
Reference.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
Reference.h LibJS+LibWeb: Add missing GC marking visits 2026-01-07 12:48:58 +01:00
ReflectObject.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
ReflectObject.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
RegExpConstructor.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
RegExpConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
RegExpLegacyStaticProperties.cpp LibJS: Use stored input for RegExp legacy static property views 2025-12-03 13:45:26 +01:00
RegExpLegacyStaticProperties.h AK+LibJS+LibWeb: Recognize that our UTF-16 string is actually WTF-16 2025-08-13 09:56:13 -04:00
RegExpObject.cpp LibJS: Prevent escaped surrogates from combining in Unicode regexes 2026-02-26 13:50:11 +01:00
RegExpObject.h LibJS: Export symbols causing linker errors in various consumers 2025-08-23 16:04:36 -06:00
RegExpPrototype.cpp LibJS: Replace GC::Weak with GC::RawPtr in inline cache entries 2026-03-08 10:27:13 +01:00
RegExpPrototype.h LibJS: Skip generic call when using regexp builtins in StringPrototype 2025-12-13 13:51:12 -06:00
RegExpStringIterator.cpp LibJS: Use PrimitiveString more instead of Utf16String in RegExp code 2025-05-03 20:01:20 +02:00
RegExpStringIterator.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
RegExpStringIteratorPrototype.cpp LibJS+LibWeb: Replace JS::Utf16String with AK::Utf16String 2025-07-18 12:45:38 -04:00
RegExpStringIteratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Set.cpp LibJS: Mark JS::Cell::initialize() as MUST_UPCALL 2026-02-06 13:50:54 +01:00
Set.h LibJS: Add Object::fast_is<Set>() and Object::fast_is<Map>() 2025-09-26 16:21:18 +02:00
SetConstructor.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SetConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
SetIterator.cpp LibJS: Make more use of Value::is and Value::as_if 2026-02-28 10:24:37 -05:00
SetIterator.h LibJS: Avoid IteratorRecord GC-allocation in GetIterator instruction 2025-11-02 20:05:47 +01:00
SetIteratorPrototype.cpp LibJS: Do more comprehensive check if next() fast path is possible 2025-06-02 00:15:36 +02:00
SetIteratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
SetPrototype.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
SetPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ShadowRealm.cpp Revert "LibJS: Shrink ExecutionContext by replacing ScriptOrModule …" 2026-03-11 23:13:18 +00:00
ShadowRealm.h LibJS: Skip initializing constant slots in ExecutionContext 2026-01-19 10:48:12 +01:00
ShadowRealmConstructor.cpp LibJS: Align spec comments for ShadowRealm for HostInitializeShadowRealm 2024-11-17 22:15:22 +01:00
ShadowRealmConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ShadowRealmPrototype.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
ShadowRealmPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Shape.cpp LibGC+ClangPlugins: Forbid non-trivial destructors in Cell subclasses 2026-01-30 20:57:42 +01:00
Shape.h LibJS: Replace GC::Weak with GC::RawPtr in inline cache entries 2026-03-08 10:27:13 +01:00
SharedArrayBufferConstructor.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
SharedArrayBufferConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
SharedArrayBufferPrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
SharedArrayBufferPrototype.h LibJS: Crudely implement growable SharedArrayBuffers 2026-01-04 07:47:55 +01:00
SharedFunctionInstanceData.cpp LibJS: Compare Rust and C++ bytecode for lazily compiled functions 2026-03-01 21:20:54 +01:00
SharedFunctionInstanceData.h LibJS: Compare Rust and C++ bytecode for lazily compiled functions 2026-03-01 21:20:54 +01:00
StringConstructor.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
StringConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
StringIterator.cpp LibJS: Make more use of Value::is and Value::as_if 2026-02-28 10:24:37 -05:00
StringIterator.h LibJS: Avoid IteratorRecord GC-allocation in GetIterator instruction 2025-11-02 20:05:47 +01:00
StringIteratorPrototype.cpp LibJS: Do more comprehensive check if next() fast path is possible 2025-06-02 00:15:36 +02:00
StringIteratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
StringObject.cpp LibJS: Convert Object bitfields to a flags byte 2026-03-07 13:09:59 +01:00
StringObject.h LibJS: Fast-path own-property enumeration and reduce descriptor lookups 2025-09-21 15:06:32 +02:00
StringPrototype.cpp LibJS: Replace GC::Weak with GC::RawPtr in inline cache entries 2026-03-08 10:27:13 +01:00
StringPrototype.h LibJS: Explicitly prevent out-of-bounds access in String.lastIndexOf 2025-10-03 09:03:40 +02:00
SuppressedError.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SuppressedError.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
SuppressedErrorConstructor.cpp LibJS: Make internal_define_own_property() save added property offset 2025-09-17 12:44:44 +02:00
SuppressedErrorConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
SuppressedErrorPrototype.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SuppressedErrorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Symbol.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
Symbol.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
SymbolConstructor.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
SymbolConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
SymbolObject.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SymbolObject.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
SymbolPrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
SymbolPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
TypedArray.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
TypedArray.h LibJS: Add fast_is<T>() for all typed array classes 2025-12-20 09:13:19 -06:00
TypedArrayConstructor.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
TypedArrayConstructor.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
TypedArrayPrototype.cpp LibJS: Make more use of Value::is and Value::as_if in JS runtime 2026-02-27 17:19:33 +01:00
TypedArrayPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Uint8Array.cpp LibJS: Use non-copying GetUint8ArrayBytes() in Uint8Array.toBase64() 2025-11-29 09:39:43 -05:00
Uint8Array.h LibJS: Use non-copying GetUint8ArrayBytes() in Uint8Array.toBase64() 2025-11-29 09:39:43 -05:00
Utf16String.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Value.cpp LibJS: Replace GC::Weak with GC::RawPtr in inline cache entries 2026-03-08 10:27:13 +01:00
Value.h LibJS: Implement convenience helper Value::as<T>() 2026-02-28 10:24:37 -05:00
ValueInlines.h LibJS: Sprinkle [[likely]] on the fast paths in ValueInlines.h 2025-10-11 20:08:58 +02:00
ValueTraits.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
VM.cpp LibJS: Synchronous await fast path when microtask queue is empty 2026-03-16 19:15:03 -05:00
VM.h LibJS: Synchronous await fast path when microtask queue is empty 2026-03-16 19:15:03 -05:00
WeakMap.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
WeakMap.h LibJS+LibWeb: Add various fast_is<T>() helpers for common things 2025-12-20 09:13:19 -06:00
WeakMapConstructor.cpp LibJS: Make more use of Value::is and Value::as_if 2026-02-28 10:24:37 -05:00
WeakMapConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
WeakMapPrototype.cpp LibJS: Implement WeakMap.prototype.getOrInsert[Computed] 2025-10-03 08:58:40 +02:00
WeakMapPrototype.h LibJS: Implement WeakMap.prototype.getOrInsert[Computed] 2025-10-03 08:58:40 +02:00
WeakRef.cpp LibJS: Remove bogus VERIFY_NOT_REACHED() in WeakRef::remove_dead_cells() 2026-01-07 07:52:03 -05:00
WeakRef.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
WeakRefConstructor.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
WeakRefConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
WeakRefPrototype.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
WeakRefPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
WeakSet.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
WeakSet.h LibJS: Export symbols causing linker errors in various consumers 2025-08-23 16:04:36 -06:00
WeakSetConstructor.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
WeakSetConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
WeakSetPrototype.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
WeakSetPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
WrapForValidIteratorPrototype.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
WrapForValidIteratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
WrappedFunction.cpp Revert "LibJS: Shrink ExecutionContext by replacing ScriptOrModule …" 2026-03-11 23:13:18 +00:00
WrappedFunction.h LibJS: Make bytecode generation infallible 2026-02-12 11:37:43 +01:00