ladybird/Libraries/LibJS/Runtime
Timothy Flynn edaed9adfa LibJS: Protect DateParser from non-ASCII input
DateParser is a GenericLexer, which is not particularly UTF-8 aware.
Other engines do not accept ASCII input, so let's just reject non-ASCII
strings outright.

While we are here, let's avoid the std ctype header. It is explicitly
undefined behavior to provide code points to isspace, isalpha, etc. that
do not fit in an unsigned char. Although this isn't reachable any longer
let's just nip it in the bud and use our safe AK character types.

Just to demonstrate, the following returns different values for me on
different systems and with different compilers:

    isdigit(0xff01)
    isalpha(0xff01)
    isspace(0xff01)
2026-05-22 17:30:36 +02:00
..
Intl LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02:00
JavaScriptImplementations LibJS: Replace Array.fromAsync with a native JavaScript implementation 2025-11-30 11:54:54 +01:00
Temporal LibJS: Handle rounding over dates in which midnight occurs twice 2026-05-20 12:41:10 -04:00
AbstractOperations.cpp LibJS: Validate eval private names at instantiation 2026-05-22 01:56:57 +02:00
AbstractOperations.h LibJS: Validate eval private names at instantiation 2026-05-22 01:56:57 +02: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 LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02:00
Array.h LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02: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 LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +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: Preserve Promise job ordering across calls 2026-05-22 01:56:57 +02: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: Fall back to intrinsic generator prototypes 2026-05-22 01:56:57 +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 LibJS: Remove std:: prefix from move in BigInt constructor 2026-05-22 17:30:36 +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 class prototype property non-writable 2026-05-22 01:56:57 +02: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: Protect DateParser from non-ASCII input 2026-05-22 17:30:36 +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: Move declarative state into rare data 2026-05-15 14:04:47 +02:00
DeclarativeEnvironment.h LibJS: Move declarative state into rare data 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: Materialize lazy function prototypes for own keys 2026-05-22 01:56:57 +02:00
ECMAScriptFunctionObject.h LibJS: Infer computed property function names 2026-05-22 01:56:57 +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 declarative binding flags in shapes 2026-05-15 14:04:47 +02:00
EnvironmentShape.h LibJS: Share declarative binding flags in 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+LibWeb: Keep cached script source text lazy 2026-05-18 09:18:35 +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: Validate eval private names at instantiation 2026-05-22 01:56:57 +02:00
ExecutionContext.cpp LibJS: Yield delegated iterator results directly 2026-05-22 01:56:57 +02:00
ExecutionContext.h LibJS: Yield delegated iterator results directly 2026-05-22 01:56:57 +02:00
ExternalMemory.h LibJS: Account module storage as external memory 2026-05-07 10:03:09 +02:00
FinalizationRegistry.cpp LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +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: Yield delegated iterator results directly 2026-05-22 01:56:57 +02:00
GeneratorObject.h LibJS: Yield delegated iterator results directly 2026-05-22 01:56:57 +02:00
GeneratorPrototype.cpp LibJS: Yield delegated iterator results directly 2026-05-22 01:56:57 +02: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 LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02:00
IndexedProperties.cpp LibJS: Preserve sparse elements below length failures 2026-05-22 01:56:57 +02: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 LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02:00
Iterator.h LibJS: Implement Iterator.zip 2026-02-26 13:54:35 -05:00
IteratorConstructor.cpp LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02: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 LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02: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 LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +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: Round toFixed digits exactly 2026-05-22 01:56:57 +02:00
NumberPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Object.cpp LibGC: Default-construct ConservativeVector from the global heap 2026-05-20 20:37:55 +02:00
Object.h LibJS: Add JS_OBJECT_WITH_CUSTOM_CLASS_NAME 2026-05-09 14:36:18 +02:00
ObjectConstructor.cpp LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02: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: Validate eval private names at instantiation 2026-05-22 01:56:57 +02:00
PrivateEnvironment.h LibJS: Validate eval private names at instantiation 2026-05-22 01:56:57 +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 LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +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: Return "" for empty legacy RegExp static properties 2026-05-16 16:28:09 +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 LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +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: Iterate Set difference over copied data 2026-05-22 01:56:57 +02:00
SetPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Shape.cpp LibGC: Default-construct RootHashTable from the global heap 2026-05-20 20:37:55 +02:00
Shape.h LibJS: Avoid HashMap for single shape forward transition 2026-05-19 11:22:33 +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: Track shared function data ownership 2026-05-22 10:54:44 +02:00
SharedFunctionInstanceData.h LibJS: Track shared function data ownership 2026-05-22 10:54:44 +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 LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +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: Avoid TypedArray ArrayBuffer bounds truncation 2026-05-22 01:56:57 +02:00
TypedArray.h LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02:00
TypedArrayConstructor.cpp LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02:00
TypedArrayConstructor.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
TypedArrayPrototype.cpp LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +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: Cache entry modules before loading imports 2026-05-22 01:56:57 +02:00
VM.h LibJS: Track async module evaluation order 2026-05-22 01:56:57 +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