ladybird/Libraries/LibJS/Runtime
Andreas Kling b0372ca84c LibJS: Use empty values for declarative TDZ
Store uninitialized declarative bindings as js_special_empty_value()
in the existing value slot instead of tracking initialization in a
separate bitmap. This removes one bitmap allocation from every
declarative environment while preserving the same TDZ checks.

Update the asm interpreter fast paths to test the value slot directly
and let initialization store the first non-empty value.
2026-05-15 14:04:47 +02:00
..
Intl LibJS: Use Substring in Intl.Segmenter 2026-04-11 00:35:36 +02:00
JavaScriptImplementations LibJS: Replace Array.fromAsync with a native JavaScript implementation 2025-11-30 11:54:54 +01:00
Temporal LibJS: Propagate errors from AdjustDateDurationRecord invocations 2026-04-30 16:11:49 +02:00
AbstractOperations.cpp LibJS: Fix var declarations in direct eval inside catch blocks 2026-05-15 10:01:08 +02:00
AbstractOperations.h LibJS: Remove C++ AST 2026-03-19 21:55:10 -05: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: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
ArgumentsObject.h LibJS: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
Array.cpp LibJS: Reuse cached UTF-16 in Array.prototype.sort's string comparator 2026-04-22 19:12:54 +02:00
Array.h LibJS: Split packed and holey asm indexed fast paths 2026-03-17 22:28:35 -05:00
ArrayBuffer.cpp LibJS+LibWeb: Allow instantiating DataBlock with an external buffer 2026-05-10 16:41:42 +02:00
ArrayBuffer.h LibWeb: Use UnownedExternalBuffer for WebAssembly.Memory backing store 2026-05-10 16:41:42 +02: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+LibWeb: Allow instantiating DataBlock with an external buffer 2026-05-10 16:41:42 +02: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: Replace IndexedProperties with inline Packed/Holey/Dictionary 2026-03-17 22:28:35 -05: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: Fast path Array.prototype.indexOf on packed arrays 2026-04-27 08:39:37 +02: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: Move bytecode interpreter state to VM 2026-04-13 18:29:43 +02: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: Store pending completion on generator instead of CompletionCell 2026-05-03 12:24:04 +02:00
AsyncGenerator.h LibJS: Store pending completion on generator instead of CompletionCell 2026-05-03 12:24:04 +02: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+LibCrypto: Account BigInt limbs as external memory 2026-05-07 10:03:09 +02:00
BigInt.h LibJS+LibCrypto: Account BigInt limbs as external memory 2026-05-07 10:03:09 +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: Account promise storage as external memory 2026-05-07 10:03:09 +02:00
BoundFunction.h LibJS: Account promise storage as external memory 2026-05-07 10:03:09 +02: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: Remove FinalizationRegistry cleanupSome 2026-05-15 00:08:00 +02:00
Completion.cpp WebContent: Enable in Windows CI 2025-08-23 16:04:36 -06:00
Completion.h AK: Add SentinelOptional 2026-03-20 12:03:36 +01: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: Handle time zone gaps in JS::utc_time 2026-03-20 14:46:46 +01:00
Date.h LibJS+LibWeb: Avoid out of range time values in <input> value strings 2026-04-11 18:28:56 +02: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: Use empty values for declarative TDZ 2026-05-15 14:04:47 +02:00
DeclarativeEnvironment.h LibJS: Use empty values for declarative TDZ 2026-05-15 14:04:47 +02:00
DescriptorArray.cpp LibJS: Index descriptors by insertion order 2026-05-14 19:59:40 +02:00
DescriptorArray.h LibJS: Index descriptors by insertion order 2026-05-14 19:59:40 +02: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 LibJS: Share function environment binding shapes 2026-05-15 14:04:47 +02:00
ECMAScriptFunctionObject.h LibJS: Share parameter var environment shapes 2026-05-15 14:04:47 +02:00
Environment.cpp LibJS: Limit eval() deoptimization to the containing function scope 2026-01-27 10:58:39 +01:00
Environment.h LibJS: Fix var declarations in direct eval inside catch blocks 2026-05-15 10:01:08 +02:00
EnvironmentCoordinate.h LibJS: Reduce size of Optional<EnvironmentCoordinate> 2026-03-20 12:03:36 +01:00
EnvironmentShape.cpp LibJS: Share function environment binding shapes 2026-05-15 14:04:47 +02:00
EnvironmentShape.h LibJS: Share function environment binding shapes 2026-05-15 14:04:47 +02:00
Error.cpp LibJS: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
Error.h LibJS: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
ErrorConstructor.cpp LibJS+LibWeb: Make DOMException hold an [[ErrorData]] slot 2026-04-08 20:33:53 +02:00
ErrorConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ErrorData.cpp LibJS: Drop source ranges from bytecode source maps 2026-05-14 09:41:03 +02:00
ErrorData.h LibJS: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
ErrorPrototype.cpp LibJS+LibWeb: Make DOMException hold an [[ErrorData]] slot 2026-04-08 20:33:53 +02: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: Fix var declarations in direct eval inside catch blocks 2026-05-15 10:01:08 +02:00
ExecutionContext.cpp LibJS+LibWeb: Use the unified Visitor for Variant-holding members 2026-05-15 08:51:17 +02:00
ExecutionContext.h LibJS: Split inline frames from execution context stack 2026-04-13 18:29:43 +02:00
ExternalMemory.h LibJS: Account module storage as external memory 2026-05-07 10:03:09 +02:00
FinalizationRegistry.cpp LibJS: Requeue aborted FinalizationRegistry cleanup 2026-05-15 10:19:02 +02:00
FinalizationRegistry.h LibJS: Requeue aborted FinalizationRegistry cleanup 2026-05-15 10:19:02 +02: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: Remove FinalizationRegistry cleanupSome 2026-05-15 00:08:00 +02:00
FinalizationRegistryPrototype.h LibJS: Remove FinalizationRegistry cleanupSome 2026-05-15 00:08:00 +02:00
FunctionConstructor.cpp LibJS: Remove C++ compiler pipeline fallback paths 2026-03-19 21:55:10 -05: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+LibWeb: Pass constants into execution context constructor 2026-03-29 13:44:06 +02:00
FunctionPrototype.cpp Everywhere: Remove ShadowRealm support 2026-04-05 13:57:58 +02: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: Store pending completion on generator instead of CompletionCell 2026-05-03 12:24:04 +02:00
GeneratorObject.h LibJS: Store pending completion on generator instead of CompletionCell 2026-05-03 12:24:04 +02:00
GeneratorPrototype.cpp LibJS: Remove dead C++ bytecode compilation functions 2026-03-19 21:55:10 -05:00
GeneratorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04: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: Remove gc from the global object 2026-04-24 18:36:23 +02:00
GlobalObject.h LibJS: Remove gc from the global object 2026-04-24 18:36:23 +02:00
IndexedProperties.cpp LibJS: Replace IndexedProperties with inline Packed/Holey/Dictionary 2026-03-17 22:28:35 -05:00
IndexedProperties.h LibJS: Account object storage as external memory 2026-05-07 10:03:09 +02:00
InterpreterStack.cpp LibJS: Add InterpreterStack bump allocator for execution contexts 2026-03-04 18:53:12 +01:00
InterpreterStack.h LibJS+LibWeb: Pass constants into execution context constructor 2026-03-29 13:44:06 +02:00
Intrinsics.cpp LibJS: Move arguments [[ParameterMap]] to Shape 2026-04-15 15:57:48 +02:00
Intrinsics.h LibJS: Lazily instantiate "prototype" field on ECMAScriptFunctionObject 2025-12-17 12:50:17 -06:00
Iterator.cpp LibJS: Remove remaining C++ pipeline artifacts 2026-03-19 21:55:10 -05: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: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
IteratorHelper.h LibJS: Account runtime storage as external memory 2026-05-07 10:03:09 +02: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 LibJS: Account keyed collection storage as external memory 2026-05-07 10:03:09 +02:00
Map.h LibJS: Account keyed collection storage as external memory 2026-05-07 10:03:09 +02: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: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
ModuleEnvironment.h LibJS: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
ModuleNamespaceObject.cpp LibJS: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
ModuleNamespaceObject.h LibJS: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
ModuleRequest.h LibWeb: Support WASM modules 2026-04-03 21:21:09 +02:00
NativeFunction.cpp LibJS: Share function environment binding shapes 2026-05-15 14:04:47 +02:00
NativeFunction.h LibJS: Call RawNativeFunction directly from asm Call 2026-04-15 15:57:48 +02:00
NativeJavaScriptBackedFunction.cpp LibJS: Cache JS-to-JS inline call eligibility 2026-04-14 08:14:43 +02:00
NativeJavaScriptBackedFunction.h LibJS: Share function environment binding shapes 2026-05-15 14:04:47 +02: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: Compact Shape property table to a sorted flat array 2026-05-14 19:59:40 +02:00
Object.h LibJS: Add JS_OBJECT_WITH_CUSTOM_CLASS_NAME 2026-05-09 14:36:18 +02: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+LibWeb: Make DOMException hold an [[ErrorData]] slot 2026-04-08 20:33:53 +02:00
ObjectPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
PrimitiveString.cpp LibJS: Account promise storage as external memory 2026-05-07 10:03:09 +02:00
PrimitiveString.h LibJS: Account PrimitiveString storage as external memory 2026-05-07 10:03:09 +02:00
PrivateEnvironment.cpp LibJS: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
PrivateEnvironment.h LibJS: Account runtime storage as external memory 2026-05-07 10:03:09 +02:00
Promise.cpp LibJS: Account promise storage as external memory 2026-05-07 10:03:09 +02:00
Promise.h LibJS: Account promise storage as external memory 2026-05-07 10:03:09 +02: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: Account promise storage as external memory 2026-05-07 10:03:09 +02:00
PromiseResolvingElementFunctions.h LibJS: Account promise storage as external memory 2026-05-07 10:03:09 +02:00
PromiseResolvingFunction.cpp LibJS: Store AlreadyResolved bit on the resolve function itself 2026-05-02 20:24:47 +02:00
PromiseResolvingFunction.h LibJS: Store AlreadyResolved bit on the resolve function itself 2026-05-02 20:24:47 +02: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 LibJS: Skip numeric index parse for non-numeric property keys 2026-05-15 12:44:30 +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+LibWeb: Pass constants into execution context constructor 2026-03-29 13:44:06 +02:00
ProxyObject.h LibJS+LibWeb: Pass constants into execution context constructor 2026-03-29 13:44:06 +02: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 LibJS+LibWeb: Pass constants into execution context constructor 2026-03-29 13:44:06 +02:00
Realm.h LibJS: Invalidate prototype chains via per-shape child lists 2026-04-24 18:59:01 +02:00
Reference.cpp LibJS: Pass JS::Value directly to string formatting functions 2025-12-09 21:44:13 -06:00
Reference.h LibJS: Reduce size of Optional<EnvironmentCoordinate> 2026-03-20 12:03:36 +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: Use Substring for legacy regexp statics 2026-04-11 00:35:36 +02:00
RegExpConstructor.h LibJS: Use Substring for legacy regexp statics 2026-04-11 00:35:36 +02:00
RegExpLegacyStaticProperties.cpp LibJS: Use Substring for legacy regexp statics 2026-04-11 00:35:36 +02:00
RegExpLegacyStaticProperties.h LibJS: Use Substring for legacy regexp statics 2026-04-11 00:35:36 +02:00
RegExpObject.cpp LibJS: Reject mixed surrogate forms in RegExp names 2026-03-31 15:59:04 +02:00
RegExpObject.h LibJS+LibRegex: Switch RegExp over to the Rust engine 2026-03-27 17:32:19 +01:00
RegExpPrototype.cpp LibJS: Use Substring for legacy regexp statics 2026-04-11 00:35:36 +02: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
Shape.cpp LibJS: Derive Shape prototype status from validity 2026-05-14 19:59:40 +02:00
Shape.h LibJS: Derive Shape prototype status from validity 2026-05-14 19:59:40 +02: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: Share parameter var environment shapes 2026-05-15 14:04:47 +02:00
SharedFunctionInstanceData.h LibJS: Share parameter var environment shapes 2026-05-15 14:04:47 +02:00
StringConstructor.cpp LibJS: Add a String.fromCharCode builtin opcode 2026-04-12 19:15:50 +02:00
StringConstructor.h LibJS: Add a String.fromCharCode builtin opcode 2026-04-12 19:15:50 +02: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: Compact Shape property table to a sorted flat array 2026-05-14 19:59:40 +02:00
StringObject.h LibJS: Fast-path own-property enumeration and reduce descriptor lookups 2025-09-21 15:06:32 +02:00
StringPrototype.cpp LibJS: Align StringPrototype::split() with the specification 2026-05-15 13:46:25 +02: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: Account promise storage as external memory 2026-05-07 10:03:09 +02:00
Symbol.h LibJS: Account promise storage as external memory 2026-05-07 10:03:09 +02: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: Add fast path to TypedArraySpeciesCreate for default species 2026-05-01 19:41:12 +02:00
TypedArray.h LibJS: Compact Shape property table to a sorted flat array 2026-05-14 19:59:40 +02: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+LibWeb: Allow instantiating DataBlock with an external buffer 2026-05-10 16:41:42 +02:00
TypedArrayPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Uint8Array.cpp LibJS+LibWeb: Allow instantiating DataBlock with an external buffer 2026-05-10 16:41:42 +02:00
Uint8Array.h LibJS: Use non-copying GetUint8ArrayBytes() in Uint8Array.toBase64() 2025-11-29 09:39:43 -05:00
Value.cpp LibJS: Rename Value::as_array() to Value::as_array_exotic_object()` 2026-03-29 13:45:38 +02:00
Value.h LibJS: Rename Value::as_array() to Value::as_array_exotic_object()` 2026-03-29 13:45:38 +02: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: Share parameter var environment shapes 2026-05-15 14:04:47 +02:00
VM.h LibJS: Share parameter var environment shapes 2026-05-15 14:04:47 +02:00
WeakMap.cpp LibGC: Add live HeapBlock registry to fix weak container UAF 2026-05-10 10:58:11 +02:00
WeakMap.h LibGC: Prune weak containers in stop-the-world phase of GC 2026-05-10 10:58:11 +02: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: Account keyed collection storage as external memory 2026-05-07 10:03:09 +02:00
WeakMapPrototype.h LibJS: Implement WeakMap.prototype.getOrInsert[Computed] 2025-10-03 08:58:40 +02:00
WeakRef.cpp LibGC: Add live HeapBlock registry to fix weak container UAF 2026-05-10 10:58:11 +02:00
WeakRef.h LibGC: Prune weak containers in stop-the-world phase of GC 2026-05-10 10:58:11 +02: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: Add live HeapBlock registry to fix weak container UAF 2026-05-10 10:58:11 +02:00
WeakSet.h LibGC: Prune weak containers in stop-the-world phase of GC 2026-05-10 10:58:11 +02: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: Account keyed collection storage as external memory 2026-05-07 10:03:09 +02: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