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. 168927
Array.h JS Array interface. 7450
Array.js ES5 15.4.4.16. 34831
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. 35163
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. 4923
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(locale, undefined, required, defaults); |format| must be a key from the "formatters" Record described above. 6412
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 18926
Eval.h builtin_Eval_h 1357
FinalizationRegistryObject.cpp static 28162
FinalizationRegistryObject.h 11850
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 ECMA262 7.2.7 35124
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). 64971
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 6689
MapObject-inl.h builtin_MapObject_inl_h 3678
MapObject.cpp HashableValue ********************************************************* 64251
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. 14779
ModuleObject.cpp 91227
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. 73098
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 712
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*); 50428
ParseRecordObject.cpp static 2206
ParseRecordObject.h 2146
Profilers.cpp Profiling-related API 15568
Profilers.h Functions for controlling profilers from within JS: Valgrind, Perf, etc 2777
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 257251
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
Reflect.cpp Reflect methods ******************************************************* 6940
Reflect.h builtin_Reflect_h 967
Reflect.js , newTarget 5536
ReflectParse.cpp JS reflection package. 127583
RegExp.cpp Implements RegExpBuiltinExec: Steps 18-35 https://tc39.es/ecma262/#sec-regexpbuiltinexec 81505
RegExp.h The following builtin natives are extern'd for pointer comparison in other parts of the engine. 8136
RegExp.js 34422
RegExpGlobalReplaceOpt.h.js 5436
RegExpLocalReplaceOpt.h.js 4030
SelfHostingDefines.h 4546
Set.js 13359
ShadowRealm.cpp static 26367
ShadowRealm.h 1082
Sorting-inl.h 9476
Sorting.h 5625
String.cpp Forward declarations for URI encode/decode and helper routines 143195
String.h Initialize the String class, returning its prototype object. 4220
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 28345
Symbol.cpp 7484
Symbol.h Stores this Symbol object's [[PrimitiveValue]]. 2439
temporal
TestingFunctions.cpp 332943
TestingFunctions.h namespace js 1691
TestingUtility.cpp 9108
TestingUtility.h namespace js 3048
TypedArray.js Steps 3-5 (non-wrapped typed arrays). 40288
TypedArrayConstants.h 834
Utilities.js Specification types ********* 6112
WeakMap.js Upsert proposal WeakMap.prototype.getOrInsertComputed ( key, callbackfn ) https://tc39.es/proposal-upsert/ 2457
WeakMapObject-inl.h builtin_WeakMapObject_inl_h 3890
WeakMapObject.cpp static 13418
WeakMapObject.h builtin_WeakMapObject_h 2786
WeakRefObject.cpp static 8183
WeakRefObject.h builtin_WeakRefObject_h 1361
WeakSet.js 628
WeakSetObject.cpp static 8003
WeakSetObject.h builtin_WeakSetObject_h 1958
WrappedFunctionObject.cpp 11697
WrappedFunctionObject.h 1431