| AllocationLogging.cpp |
|
928 |
38 % |
| AllocPolicy.cpp |
|
1035 |
36 % |
| BitArray.h |
A bit array is an array of bits represented by an array of words (size_t).
|
2136 |
100 % |
| CaseFolding.txt |
|
87539 |
- |
| CompleteFile.cpp |
Get the complete length of the file, if possible. |
4274 |
71 % |
| CompleteFile.h |
util_CompleteFile_h |
1252 |
100 % |
| DefaultLocale.cpp |
Create a LanguageId from a `mozilla::intl::Locale`.
|
4487 |
96 % |
| 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. |
1007 |
- |
| DifferentialTesting.h |
Definitions for differential testing.
|
686 |
100 % |
| DoubleToString.cpp |
Portable double to alphanumeric string and back converters.
|
9004 |
90 % |
| DoubleToString.h |
Public interface to portable double-precision floating point to string
and back conversion package.
|
1926 |
- |
| DumpFunctions.cpp |
|
18796 |
67 % |
| EnumFlags.h |
|
2731 |
100 % |
| GetPidProvider.h |
util_GetPidProvider_h |
515 |
- |
| Identifier.cpp |
|
3866 |
58 % |
| 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".
|
1713 |
- |
| 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
|
19209 |
98 % |
| make_unicode.py |
/*
* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/licenses/publicdomain/
*/
|
50312 |
- |
| Memory.h |
namespace js |
1363 |
100 % |
| moz.build |
|
1310 |
- |
| NativeStack.cpp |
e.g. on FreeBSD 4.8 or newer, neundorf@kde.org |
6923 |
100 % |
| NativeStack.h |
namespace js |
835 |
100 % |
| Poison.h |
Memory poisoning.
|
6982 |
88 % |
| PolicyAllocator.h |
namespace js |
1959 |
0 % |
| PortableMath.h |
util_PortableMath_h |
1742 |
96 % |
| Printf.cpp |
Portable safe sprintf code.
Author: Kipp E.B. Hickman
|
1765 |
76 % |
| RandomSeed.cpp |
|
1040 |
77 % |
| RandomSeed.h |
|
718 |
- |
| 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.
|
8780 |
90 % |
| 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|.
|
18264 |
94 % |
| StructuredSpewer.cpp |
static |
8019 |
12 % |
| StructuredSpewer.h |
|
9086 |
43 % |
| Text.cpp |
|
13346 |
84 % |
| Text.h |
These variants do not report OOMs, you must arrange for OOMs to be reported
yourself.
|
12490 |
95 % |
| TrailingArray.h |
|
2952 |
100 % |
| Unicode.cpp |
Generated by make_unicode.py DO NOT MODIFY |
233394 |
94 % |
| 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
|
16658 |
93 % |
| UnicodeData.txt |
|
2198209 |
- |
| UnicodeNonBMP.h |
Generated by make_unicode.py DO NOT MODIFY |
4254 |
- |
| Utility.cpp |
Various JS utility functions. |
5358 |
50 % |
| WindowsWrapper.h |
This file is a wrapper around <windows.h> to prevent the mangling of
various function names throughout the codebase.
|
748 |
- |