Name Description Size
.eslintrc.js 6459
Array-inl.h 1106
Array.cpp Whether obj may have indexed properties anywhere besides its dense elements. This includes other indexed properties in its shape hierarchy, and indexed properties or elements along its prototype chain. 170718
Array.h JS Array interface. 10086
Array.js ES5 15.4.4.16. 34683
AsyncDisposableStack.js 2690
AsyncDisposableStackObject.cpp static 14602
AsyncDisposableStackObject.h namespace js 1826
AsyncFunction.js 617
AsyncIteration.js ECMA262 7.4.7 AsyncIteratorClose 14743
AtomicsObject.cpp JS Atomics pseudo-module. See chapter 24.4 "The Atomics Object" and chapter 27 "Memory Model" in ECMAScript 2021 for the full specification. 35219
AtomicsObject.h 5090
BigInt.cpp !JS_HAS_INTL_API 6927
BigInt.h 1718
BigInt.js Format this BigInt object into a string, using the locale and formatting options provided. Spec PR: https://github.com/tc39/ecma402/pull/236 1346
Boolean-inl.h namespace js 1564
Boolean.cpp JS boolean implementation. 5052
Boolean.h JS boolean interface. 625
DataViewObject.cpp bytesPerElement = 37706
DataViewObject.h Return the current byteLength, or |Nothing| if the DataView is detached or out-of-bounds. 8098
Date.js Get a cached DateTimeFormat formatter object, created like so: CreateDateTimeFormat(undefined, undefined, required, defaults); |format| must be a key from the "formatters" Record described above. 5931
DisposableStack.js 1936
DisposableStackObject.cpp static 13810
DisposableStackObject.h namespace js 1924
DisposableStackObjectBase.cpp Explicit Resource Management Proposal 27.4.3.1 AsyncDisposableStack.prototype.adopt ( value, onDisposeAsync ) https://arai-a.github.io/ecma262-compare/?pr=3000&id=sec-asyncdisposablestack.prototype.adopt Step 5.a 27.3.3.1 DisposableStack.prototype.adopt ( value, onDispose ) https://arai-a.github.io/ecma262-compare/?pr=3000&id=sec-disposablestack.prototype.adopt Step 5.a 11569
DisposableStackObjectBase.h namespace js 2597
embedjs.py \ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ namespace js { namespace %(namespace)s { static const %(sources_type)s data[] = { %(sources_data)s }; static const %(sources_type)s * const %(sources_name)s = reinterpret_cast<const %(sources_type)s *>(data); uint32_t GetCompressedSize() { return %(compressed_total_length)i; } uint32_t GetRawScriptsSize() { return %(raw_total_length)i; } } // selfhosted } // js 7165
Error.js ES6 20140718 draft 19.5.3.4. 867
Eval.cpp static 18219
Eval.h builtin_Eval_h 1357
FinalizationRegistryObject.cpp static 28151
FinalizationRegistryObject.h 11844
Generator.js 2855
HandlerFunction-inl.h Handler for operations that act on a target object, and possibly upon an extra value. 3948
intl
Iterator.js Iterator.range ( start, end, optionOrStep ) https://tc39.es/proposal-iterator.range/#sec-iterator.range 24776
JSON.cpp https://262.ecma-international.org/14.0/#sec-quotejsonstring Requires that the destination has enough space allocated for src after escaping (that is, `2 + 6 * (srcEnd - srcBegin)` characters). 70323
JSON.h If stringifyBehavior is RestrictedSafe, Stringify will attempt to assert the API requirements of JS::ToJSONMaybeSafely as it traverses the graph, and will not try to invoke .toJSON on things as it goes. 2171
Map.js 5072
MapObject.cpp HashableValue ********************************************************* 61154
MapObject.h Comparing two ropes for equality can fail. The js::HashTable template requires infallible hash() and match() operations. Therefore we require all values to be converted to hashable form before being used as a key in a Map or Set object. All values except ropes are hashable as-is. 16154
ModuleObject.cpp 91168
ModuleObject.h 18564
Number.js Format this Number object into a string, using the locale and formatting options provided. Spec: ECMAScript Language Specification, 5.1 edition, 15.7.4.3. Spec: ECMAScript Internationalization API Specification, 13.2.1. 2984
Object.cpp Make an object whether this was called with 'new' or not. 76227
Object.h Like IdToValue, but convert int jsids to strings. This is used when exposing a jsid to script for Object.getOwnProperty{Names,Symbols} or scriptable proxy traps. 2753
Object.js ES6 draft rev 32 (2015 Feb 2) 19.1.2.9. 11376
OrderedHashTableObject-inl.h builtin_OrderedHashTableObject_inl_h 704
OrderedHashTableObject.h This file defines js::OrderedHashMapObject (a base class of js::MapObject) and js::OrderedHashSetObject (a base class of js::SetObject). It also defines two templates, js::OrderedHashMapImpl and js::OrderedHashSetImpl, that operate on these objects and implement the ordered hash table algorithm. These templates are defined separately from the JS object types because it lets us switch between different template instantiations to enable or disable GC barriers. The implemented hash table algorithm is also different from HashMap and HashSet: - Iterating over an Ordered hash table visits the entries in the order in which they were inserted. This means that unlike a HashMap, the behavior of an OrderedHashMapImpl is deterministic (as long as the HashPolicy methods are effect-free and consistent); the hashing is a pure performance optimization. - Iterator objects remain valid even when entries are added or removed or the table is resized. Hash policies See the comment about "Hash policy" in HashTable.h for general features that hash policy classes must provide. Hash policies for OrderedHashMapImpl and Sets differ in that the hash() method takes an extra argument: static js::HashNumber hash(Lookup, const HashCodeScrambler&); They must additionally provide a distinguished "empty" key value and the following static member functions: bool isEmpty(const Key&); void makeEmpty(Key*); 48670
ParseRecordObject.cpp 1522
ParseRecordObject.h 2002
Profilers.cpp Profiling-related API 15513
Profilers.h Functions for controlling profilers from within JS: Valgrind, Perf, etc 2758
Promise-inl.h Given a settled (i.e. fulfilled or rejected, not pending) promise, sets |promise.[[PromiseIsHandled]]| to true and removes it from the list of unhandled rejected promises. NOTE: If you need to set |promise.[[PromiseIsHandled]]| on a pending promise, use |PromiseObject::setHandled()| directly. 1577
Promise.cpp ES2023 draft rev 714fa3dd1e8237ae9c666146270f81880089eca5 Promise Resolve Functions https://tc39.es/ecma262/#sec-promise-resolve-functions 253360
Promise.h Unforgeable version of the JS builtin Promise.all. Takes a HandleValueVector of Promise objects and returns a promise that's resolved with an array of resolution values when all those promises have been resolved, or rejected with the rejection value of the first rejected promise. Asserts that all objects in the `promises` vector are, maybe wrapped, instances of `Promise` or a subclass of `Promise`. 11349
Promise.js 2167
RawJSONObject.cpp static 1490
RawJSONObject.h builtin_RawJSONObject_h 719
RecordObject.cpp 2230
RecordObject.h 823
Reflect.cpp Reflect methods ******************************************************* 6940
Reflect.h builtin_Reflect_h 967
Reflect.js , newTarget 5536
ReflectParse.cpp JS reflection package. 129377
RegExp.cpp Implements RegExpBuiltinExec: Steps 18-35 https://tc39.es/ecma262/#sec-regexpbuiltinexec 84614
RegExp.h The following builtin natives are extern'd for pointer comparison in other parts of the engine. 8301
RegExp.js 36239
RegExpGlobalReplaceOpt.h.js 5436
RegExpLocalReplaceOpt.h.js 4030
SelfHostingDefines.h 4654
Set.js 13359
ShadowRealm.cpp static 25970
ShadowRealm.h 1082
Sorting-inl.h 9476
Sorting.h 5625
String.cpp Forward declarations for URI encode/decode and helper routines 142614
String.h Initialize the String class, returning its prototype object. 4214
String.js A helper function implementing the logic for both String.prototype.padStart and String.prototype.padEnd as described in ES7 Draft March 29, 2016 28654
Symbol.cpp 7484
Symbol.h Stores this Symbol object's [[PrimitiveValue]]. 2439
temporal
TestingFunctions.cpp 328763
TestingFunctions.h namespace js 1691
TestingUtility.cpp 9087
TestingUtility.h namespace js 2951
Tuple.js Step 1. 16269
TupleObject.cpp 3166
TupleObject.h 954
TypedArray.js Steps 3-5 (non-wrapped typed arrays). 52573
TypedArrayConstants.h 834
Utilities.js Specification types ********* 6112
WeakMap.js 778
WeakMapObject-inl.h builtin_WeakMapObject_inl_h 3393
WeakMapObject.cpp static 10101
WeakMapObject.h builtin_WeakMapObject_h 2344
WeakRefObject.cpp static 8183
WeakRefObject.h builtin_WeakRefObject_h 1361
WeakSet.js 628
WeakSetObject.cpp static 7398
WeakSetObject.h builtin_WeakSetObject_h 1845
WrappedFunctionObject.cpp 11697
WrappedFunctionObject.h 1431