Name Description Size Coverage
AllocationLogging.cpp 813 -
AllocPolicy.cpp 920 -
BitArray.h A bit array is an array of bits represented by an array of words (size_t). 2021 -
CaseFolding.txt 87539 -
CompleteFile.cpp Get the complete length of the file, if possible. 4159 -
CompleteFile.h util_CompleteFile_h 1137 -
DefaultLocale.cpp Create a LanguageId from a `mozilla::intl::Locale`. 4487 -
DefaultLocale.h Return the system default locale as a language identifier, or, on failure, the undetermined locale "und". 942 -
DerivedCoreProperties.txt 1134783 -
DiagnosticAssertions.h Crash diagnostics by default in debug and on nightly channel. 892 -
DifferentialTesting.h Definitions for differential testing. 571 -
DoubleToString.cpp Portable double to alphanumeric string and back converters. 9426 -
DoubleToString.h Public interface to portable double-precision floating point to string and back conversion package. 1811 -
DumpFunctions.cpp 18681 -
EnumFlags.h 2616 -
GetPidProvider.h util_GetPidProvider_h 400 -
Identifier.cpp 3751 -
Identifier.h True if str consists of an IdentifierStart character, followed by one or more IdentifierPart characters, i.e. it matches the IdentifierName production in the language spec. This returns true even if str is a keyword like "if". 1598 -
LanguageId.h Compact representation of language identifiers. Language identifiers have the following limitations when compared to Unicode BCP 47 locale identifiers: - Language subtags can have at most three letters. - Variant and extension subtags are not supported. In other words, language identifiers contain only language, script, and region subtags. All locales supported by ICU4C can be represented as language identifiers, except for "en_US_POSIX". "en_US_POSIX" canonicalizes to "en-US-u-va-posix", which contains a Unicode extension sequence, so it's not a valid available ECMA-402 locale, see also <https://tc39.es/ecma402/#available-locales-list>. Features: - Fixed-length fields to avoid any heap allocations. - Minimal size to allow efficient storing in other data structures. - Fast comparison support for prefix-based locale lookup operations. - Methods optimized for fast generated assembly code. Verified by inspecting the (x86) assembly code for Clang with optimization level O3 and ensuring all methods generate only basic assembly instructions and don't require calls to other built-ins. References: https://tc39.es/ecma402/#sec-language-tags https://unicode-org.github.io/icu/userguide/locale/ https://unicode.org/reports/tr35/tr35.html#Unicode_Language_and_Locale_Identifiers 20212 -
make_unicode.py /* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/licenses/publicdomain/ */ 50312 -
Memory.h namespace js 1248 -
moz.build 1221 -
NativeStack.cpp e.g. on FreeBSD 4.8 or newer, neundorf@kde.org 6808 -
NativeStack.h namespace js 720 -
Poison.h Memory poisoning. 6867 -
PolicyAllocator.h namespace js 1844 -
PortableMath.h util_PortableMath_h 1627 -
Printf.cpp Portable safe sprintf code. Author: Kipp E.B. Hickman 1650 -
RandomSeed.cpp 925 -
RandomSeed.h 603 -
SpecialCasing.txt 17049 -
StringBuilder.cpp Note: we don't use Vector::capacity() because it always returns a value >= sInlineCapacity. Since Latin1CharBuffer::sInlineCapacity > TwoByteCharBuffer::sInlineCapacitychars, we'd always malloc here. 8665 -
StringBuilder.h String builder used to create a JSString by appending segments to a growable buffer. This has some basic checks for over-allocation past the maximum string length but does not check on every append. If this condition is detected it will set an exception on the context and the operation will fail. Well-sized extractions (which waste no more than 1/4 of their char buffer space) are guaranteed for strings built by this interface. See |extractWellSized|. 18149 -
StructuredSpewer.cpp static 7904 -
StructuredSpewer.h 8971 -
Text.cpp 13231 -
Text.h These variants do not report OOMs, you must arrange for OOMs to be reported yourself. 12375 -
TrailingArray.h 2837 -
Unicode.cpp Generated by make_unicode.py DO NOT MODIFY 233394 -
Unicode.h This namespace contains all the knowledge required to handle Unicode characters in JavaScript. SPACE Every character that is either in the ECMAScript class WhiteSpace (ES2016, § 11.2) or in LineTerminator (ES2016, § 11.3). WhiteSpace \u0009, \u000B, \u000C, \u0020, \u00A0 and \uFEFF and every other Unicode character with the General Category "Zs". See <http://www.unicode.org/reports/tr44/#UnicodeData.txt> for more information about General Categories and the UnicodeData.txt file. LineTerminator \u000A, \u000D, \u2028, \u2029 UNICODE_ID_START These are all characters with the Unicode property «ID_Start». UNICODE_ID_CONTINUE_ONLY These are all characters with the Unicode property «ID_Continue» minus all characters with the Unicode property «ID_Start». And additionally <ZWNJ> and <ZWJ>. (ES2016, § 11.6) UNICODE_ID_CONTINUE These are all characters with the Unicode property «ID_Continue». And additionally <ZWNJ> and <ZWJ>. (ES2016, § 11.6) Attention: UNICODE_ID_START is _not_ IdentifierStart, but you could build a matcher for the real IdentifierPart like this: if char in ['$', '_']: return True if GetFlag(char) & UNICODE_ID_CONTINUE: return True 16543 -
UnicodeData.txt 2198209 -
UnicodeNonBMP.h Generated by make_unicode.py DO NOT MODIFY 4139 -
Utility.cpp Various JS utility functions. 5243 -
WindowsWrapper.h This file is a wrapper around <windows.h> to prevent the mangling of various function names throughout the codebase. 633 -