tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 085dd98a3681e748fdcd48ce66aea9b01b75ae2a
parent 1644385a012ee8c97881dc2a0d503b4eaeea9875
Author: Iain Ireland <iireland@mozilla.com>
Date:   Thu, 13 Nov 2025 23:37:50 +0000

Bug 1998297: Use a macro for new_Record r=jandem

Differential Revision: https://phabricator.services.mozilla.com/D271331

Diffstat:
Mjs/src/builtin/SelfHostingDefines.h | 5+++++
Mjs/src/builtin/Utilities.js | 9---------
Mjs/src/builtin/intl/Collator.js | 2+-
Mjs/src/builtin/intl/CommonFunctions.js | 4++--
Mjs/src/builtin/intl/DateTimeFormat.js | 4++--
Mjs/src/builtin/intl/DisplayNames.js | 2+-
Mjs/src/builtin/intl/DurationFormat.js | 2+-
Mjs/src/builtin/intl/IntlObject.js | 2+-
Mjs/src/builtin/intl/ListFormat.js | 2+-
Mjs/src/builtin/intl/NumberFormat.js | 2+-
Mjs/src/builtin/intl/PluralRules.js | 2+-
Mjs/src/builtin/intl/RelativeTimeFormat.js | 2+-
Mjs/src/builtin/intl/Segmenter.js | 2+-
13 files changed, 18 insertions(+), 22 deletions(-)

diff --git a/js/src/builtin/SelfHostingDefines.h b/js/src/builtin/SelfHostingDefines.h @@ -20,6 +20,11 @@ #define FUN_APPLY(FUN, RECEIVER, ARGS) \ callFunction(std_Function_apply, FUN, RECEIVER, ARGS) +// A "Record" is an internal type used in the ECMAScript spec to define a struct +// made up of key / values. It is never exposed to user script, but we use a +// simple Object (with null prototype) as a convenient implementation. +#define NEW_RECORD() std_Object_create(null) + // NB: keep this in sync with the copy in vm/ArgumentsObject.h. #define MAX_ARGS_LENGTH (500 * 1000) diff --git a/js/src/builtin/Utilities.js b/js/src/builtin/Utilities.js @@ -28,15 +28,6 @@ // code are installed via the std_functions JSFunctionSpec[] in // SelfHosting.cpp. -/********** Specification types **********/ - -// A "Record" is an internal type used in the ECMAScript spec to define a struct -// made up of key / values. It is never exposed to user script, but we use a -// simple Object (with null prototype) as a convenient implementation. -function new_Record() { - return std_Object_create(null); -} - /********** Abstract operations defined in ECMAScript Language Specification **********/ /* Spec: ECMAScript Language Specification, 5.1 edition, 9.2 and 11.4.9 */ diff --git a/js/src/builtin/intl/Collator.js b/js/src/builtin/intl/Collator.js @@ -171,7 +171,7 @@ function InitializeCollator(collator, locales, options) { lazyCollatorData.usage = u; // Step 8. - var opt = new_Record(); + var opt = NEW_RECORD(); lazyCollatorData.opt = opt; // Steps 9-10. diff --git a/js/src/builtin/intl/CommonFunctions.js b/js/src/builtin/intl/CommonFunctions.js @@ -242,7 +242,7 @@ function BestAvailableLocaleIgnoringDefault(availableLocales, locale) { */ function LookupMatcher(availableLocales, requestedLocales) { // Step 1. - var result = new_Record(); + var result = NEW_RECORD(); // Step 2. for (var i = 0; i < requestedLocales.length; i++) { @@ -397,7 +397,7 @@ function ResolveLocale( var extension = r.extension; // Step 5. - var result = new_Record(); + var result = NEW_RECORD(); // Step 6. result.dataLocale = foundLocale; diff --git a/js/src/builtin/intl/DateTimeFormat.js b/js/src/builtin/intl/DateTimeFormat.js @@ -268,7 +268,7 @@ function InitializeDateTimeFormat( // Compute options that impact interpretation of locale. // Step 4. - var localeOpt = new_Record(); + var localeOpt = NEW_RECORD(); lazyDateTimeFormatData.localeOpt = localeOpt; // Steps 5-6. @@ -372,7 +372,7 @@ function InitializeDateTimeFormat( lazyDateTimeFormatData.timeZone = timeZone; // Step 34. - var formatOptions = new_Record(); + var formatOptions = NEW_RECORD(); lazyDateTimeFormatData.formatOptions = formatOptions; if (mozExtensions) { diff --git a/js/src/builtin/intl/DisplayNames.js b/js/src/builtin/intl/DisplayNames.js @@ -178,7 +178,7 @@ function InitializeDisplayNames(displayNames, locales, options, mozExtensions) { } // Step 5. - var opt = new_Record(); + var opt = NEW_RECORD(); lazyDisplayNamesData.opt = opt; lazyDisplayNamesData.mozExtensions = mozExtensions; diff --git a/js/src/builtin/intl/DurationFormat.js b/js/src/builtin/intl/DurationFormat.js @@ -235,7 +235,7 @@ function InitializeDurationFormat(durationFormat, locales, options) { } // Step 8. - var opt = new_Record(); + var opt = NEW_RECORD(); opt.localeMatcher = matcher; opt.nu = numberingSystem; diff --git a/js/src/builtin/intl/IntlObject.js b/js/src/builtin/intl/IntlObject.js @@ -55,7 +55,7 @@ function Intl_getCalendarInfo(locales) { var localeData = DateTimeFormat.localeData; // 3. Let localeOpt be a new Record. - var localeOpt = new_Record(); + var localeOpt = NEW_RECORD(); // 4. Set localeOpt.[[localeMatcher]] to "best fit". localeOpt.localeMatcher = "best fit"; diff --git a/js/src/builtin/intl/ListFormat.js b/js/src/builtin/intl/ListFormat.js @@ -135,7 +135,7 @@ function InitializeListFormat(listFormat, locales, options) { } // Step 6. - var opt = new_Record(); + var opt = NEW_RECORD(); lazyListFormatData.opt = opt; // Steps 7-8. diff --git a/js/src/builtin/intl/NumberFormat.js b/js/src/builtin/intl/NumberFormat.js @@ -675,7 +675,7 @@ function InitializeNumberFormat(numberFormat, thisValue, locales, options) { // Compute options that impact interpretation of locale. // Step 5. - var opt = new_Record(); + var opt = NEW_RECORD(); lazyNumberFormatData.opt = opt; // Steps 6-7. diff --git a/js/src/builtin/intl/PluralRules.js b/js/src/builtin/intl/PluralRules.js @@ -196,7 +196,7 @@ function InitializePluralRules(pluralRules, locales, options) { } // Step 3. - var opt = new_Record(); + var opt = NEW_RECORD(); lazyPluralRulesData.opt = opt; // Steps 4-5. diff --git a/js/src/builtin/intl/RelativeTimeFormat.js b/js/src/builtin/intl/RelativeTimeFormat.js @@ -139,7 +139,7 @@ function InitializeRelativeTimeFormat(relativeTimeFormat, locales, options) { } // Step 4. - var opt = new_Record(); + var opt = NEW_RECORD(); // Steps 5-6. var matcher = GetOption( diff --git a/js/src/builtin/intl/Segmenter.js b/js/src/builtin/intl/Segmenter.js @@ -130,7 +130,7 @@ function InitializeSegmenter(segmenter, locales, options) { } // Step 6. - var opt = new_Record(); + var opt = NEW_RECORD(); lazySegmenterData.opt = opt; // Steps 7-8.