tor-browser

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

commit 60a16946319aaacb77bb336ef35710640800138a
parent 62757b474ff4670f23b01b9d80a3924b952d4990
Author: Matthew Gaudet <mgaudet@mozilla.com>
Date:   Mon, 15 Dec 2025 18:47:17 +0000

Bug 2006114 - Replace setFixedSlot with initFixedSlot for newborn objects r=jonco

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

Diffstat:
Mjs/src/builtin/BigInt.cpp | 2+-
Mjs/src/builtin/Promise.cpp | 10+++++-----
Mjs/src/builtin/temporal/Duration.cpp | 70++++++++++++++++++++++++++++++++++++++--------------------------------
Mjs/src/builtin/temporal/Instant.cpp | 16++++++++--------
Mjs/src/builtin/temporal/PlainDate.cpp | 12++++++------
Mjs/src/builtin/temporal/PlainDateTime.cpp | 20++++++++++----------
Mjs/src/builtin/temporal/PlainMonthDay.cpp | 16++++++++--------
Mjs/src/builtin/temporal/PlainTime.cpp | 4++--
Mjs/src/builtin/temporal/PlainYearMonth.cpp | 16++++++++--------
Mjs/src/builtin/temporal/TimeZone.cpp | 22+++++++++++-----------
Mjs/src/builtin/temporal/ZonedDateTime.cpp | 32++++++++++++++++----------------
Mjs/src/wasm/WasmAnyRef.cpp | 2+-
12 files changed, 114 insertions(+), 108 deletions(-)

diff --git a/js/src/builtin/BigInt.cpp b/js/src/builtin/BigInt.cpp @@ -64,7 +64,7 @@ JSObject* BigIntObject::create(JSContext* cx, HandleBigInt bigInt) { if (!bn) { return nullptr; } - bn->setFixedSlot(PRIMITIVE_VALUE_SLOT, BigIntValue(bigInt)); + bn->initFixedSlot(PRIMITIVE_VALUE_SLOT, BigIntValue(bigInt)); return bn; } diff --git a/js/src/builtin/Promise.cpp b/js/src/builtin/Promise.cpp @@ -394,11 +394,11 @@ PromiseCombinatorDataHolder* PromiseCombinatorDataHolder::New( cx->check(resultPromise, elements.value(), resolveOrReject); - dataHolder->setFixedSlot(Slot_Promise, ObjectValue(*resultPromise)); - dataHolder->setFixedSlot(Slot_RemainingElements, Int32Value(1)); - dataHolder->setFixedSlot(Slot_ValuesArray, elements.value()); - dataHolder->setFixedSlot(Slot_ResolveOrRejectFunction, - ObjectValue(*resolveOrReject)); + dataHolder->initFixedSlot(Slot_Promise, ObjectValue(*resultPromise)); + dataHolder->initFixedSlot(Slot_RemainingElements, Int32Value(1)); + dataHolder->initFixedSlot(Slot_ValuesArray, elements.value()); + dataHolder->initFixedSlot(Slot_ResolveOrRejectFunction, + ObjectValue(*resolveOrReject)); return dataHolder; } diff --git a/js/src/builtin/temporal/Duration.cpp b/js/src/builtin/temporal/Duration.cpp @@ -1119,22 +1119,25 @@ static DurationObject* CreateTemporalDuration(JSContext* cx, // Steps 4-13. // Add zero to convert -0 to +0. - object->setFixedSlot(DurationObject::YEARS_SLOT, NumberValue(years + (+0.0))); - object->setFixedSlot(DurationObject::MONTHS_SLOT, - NumberValue(months + (+0.0))); - object->setFixedSlot(DurationObject::WEEKS_SLOT, NumberValue(weeks + (+0.0))); - object->setFixedSlot(DurationObject::DAYS_SLOT, NumberValue(days + (+0.0))); - object->setFixedSlot(DurationObject::HOURS_SLOT, NumberValue(hours + (+0.0))); - object->setFixedSlot(DurationObject::MINUTES_SLOT, - NumberValue(minutes + (+0.0))); - object->setFixedSlot(DurationObject::SECONDS_SLOT, - NumberValue(seconds + (+0.0))); - object->setFixedSlot(DurationObject::MILLISECONDS_SLOT, - NumberValue(milliseconds + (+0.0))); - object->setFixedSlot(DurationObject::MICROSECONDS_SLOT, - NumberValue(microseconds + (+0.0))); - object->setFixedSlot(DurationObject::NANOSECONDS_SLOT, - NumberValue(nanoseconds + (+0.0))); + object->initFixedSlot(DurationObject::YEARS_SLOT, + NumberValue(years + (+0.0))); + object->initFixedSlot(DurationObject::MONTHS_SLOT, + NumberValue(months + (+0.0))); + object->initFixedSlot(DurationObject::WEEKS_SLOT, + NumberValue(weeks + (+0.0))); + object->initFixedSlot(DurationObject::DAYS_SLOT, NumberValue(days + (+0.0))); + object->initFixedSlot(DurationObject::HOURS_SLOT, + NumberValue(hours + (+0.0))); + object->initFixedSlot(DurationObject::MINUTES_SLOT, + NumberValue(minutes + (+0.0))); + object->initFixedSlot(DurationObject::SECONDS_SLOT, + NumberValue(seconds + (+0.0))); + object->initFixedSlot(DurationObject::MILLISECONDS_SLOT, + NumberValue(milliseconds + (+0.0))); + object->initFixedSlot(DurationObject::MICROSECONDS_SLOT, + NumberValue(microseconds + (+0.0))); + object->initFixedSlot(DurationObject::NANOSECONDS_SLOT, + NumberValue(nanoseconds + (+0.0))); // Step 14. return object; @@ -1173,22 +1176,25 @@ DurationObject* js::temporal::CreateTemporalDuration(JSContext* cx, // Steps 4-13. // Add zero to convert -0 to +0. - object->setFixedSlot(DurationObject::YEARS_SLOT, NumberValue(years + (+0.0))); - object->setFixedSlot(DurationObject::MONTHS_SLOT, - NumberValue(months + (+0.0))); - object->setFixedSlot(DurationObject::WEEKS_SLOT, NumberValue(weeks + (+0.0))); - object->setFixedSlot(DurationObject::DAYS_SLOT, NumberValue(days + (+0.0))); - object->setFixedSlot(DurationObject::HOURS_SLOT, NumberValue(hours + (+0.0))); - object->setFixedSlot(DurationObject::MINUTES_SLOT, - NumberValue(minutes + (+0.0))); - object->setFixedSlot(DurationObject::SECONDS_SLOT, - NumberValue(seconds + (+0.0))); - object->setFixedSlot(DurationObject::MILLISECONDS_SLOT, - NumberValue(milliseconds + (+0.0))); - object->setFixedSlot(DurationObject::MICROSECONDS_SLOT, - NumberValue(microseconds + (+0.0))); - object->setFixedSlot(DurationObject::NANOSECONDS_SLOT, - NumberValue(nanoseconds + (+0.0))); + object->initFixedSlot(DurationObject::YEARS_SLOT, + NumberValue(years + (+0.0))); + object->initFixedSlot(DurationObject::MONTHS_SLOT, + NumberValue(months + (+0.0))); + object->initFixedSlot(DurationObject::WEEKS_SLOT, + NumberValue(weeks + (+0.0))); + object->initFixedSlot(DurationObject::DAYS_SLOT, NumberValue(days + (+0.0))); + object->initFixedSlot(DurationObject::HOURS_SLOT, + NumberValue(hours + (+0.0))); + object->initFixedSlot(DurationObject::MINUTES_SLOT, + NumberValue(minutes + (+0.0))); + object->initFixedSlot(DurationObject::SECONDS_SLOT, + NumberValue(seconds + (+0.0))); + object->initFixedSlot(DurationObject::MILLISECONDS_SLOT, + NumberValue(milliseconds + (+0.0))); + object->initFixedSlot(DurationObject::MICROSECONDS_SLOT, + NumberValue(microseconds + (+0.0))); + object->initFixedSlot(DurationObject::NANOSECONDS_SLOT, + NumberValue(nanoseconds + (+0.0))); // Step 14. return object; diff --git a/js/src/builtin/temporal/Instant.cpp b/js/src/builtin/temporal/Instant.cpp @@ -368,10 +368,10 @@ InstantObject* js::temporal::CreateTemporalInstant( } // Step 4. - object->setFixedSlot(InstantObject::SECONDS_SLOT, - NumberValue(epochNanoseconds.seconds)); - object->setFixedSlot(InstantObject::NANOSECONDS_SLOT, - Int32Value(epochNanoseconds.nanoseconds)); + object->initFixedSlot(InstantObject::SECONDS_SLOT, + NumberValue(epochNanoseconds.seconds)); + object->initFixedSlot(InstantObject::NANOSECONDS_SLOT, + Int32Value(epochNanoseconds.nanoseconds)); // Step 5. return object; @@ -398,10 +398,10 @@ static InstantObject* CreateTemporalInstant(JSContext* cx, const CallArgs& args, // Step 4. auto epochNs = ToEpochNanoseconds(epochNanoseconds); - object->setFixedSlot(InstantObject::SECONDS_SLOT, - NumberValue(epochNs.seconds)); - object->setFixedSlot(InstantObject::NANOSECONDS_SLOT, - Int32Value(epochNs.nanoseconds)); + object->initFixedSlot(InstantObject::SECONDS_SLOT, + NumberValue(epochNs.seconds)); + object->initFixedSlot(InstantObject::NANOSECONDS_SLOT, + Int32Value(epochNs.nanoseconds)); // Step 5. return object; diff --git a/js/src/builtin/temporal/PlainDate.cpp b/js/src/builtin/temporal/PlainDate.cpp @@ -213,11 +213,11 @@ static PlainDateObject* CreateTemporalDate(JSContext* cx, const CallArgs& args, // Step 4. auto packedDate = PackedDate::pack(isoDate); - object->setFixedSlot(PlainDateObject::PACKED_DATE_SLOT, - PrivateUint32Value(packedDate.value)); + object->initFixedSlot(PlainDateObject::PACKED_DATE_SLOT, + PrivateUint32Value(packedDate.value)); // Step 5. - object->setFixedSlot(PlainDateObject::CALENDAR_SLOT, calendar.toSlotValue()); + object->initFixedSlot(PlainDateObject::CALENDAR_SLOT, calendar.toSlotValue()); // Step 6. return object; @@ -245,11 +245,11 @@ PlainDateObject* js::temporal::CreateTemporalDate( // Step 4. auto packedDate = PackedDate::pack(isoDate); - object->setFixedSlot(PlainDateObject::PACKED_DATE_SLOT, - PrivateUint32Value(packedDate.value)); + object->initFixedSlot(PlainDateObject::PACKED_DATE_SLOT, + PrivateUint32Value(packedDate.value)); // Step 5. - object->setFixedSlot(PlainDateObject::CALENDAR_SLOT, calendar.toSlotValue()); + object->initFixedSlot(PlainDateObject::CALENDAR_SLOT, calendar.toSlotValue()); // Step 6. return object; diff --git a/js/src/builtin/temporal/PlainDateTime.cpp b/js/src/builtin/temporal/PlainDateTime.cpp @@ -130,15 +130,15 @@ static PlainDateTimeObject* CreateTemporalDateTime( // Step 4. auto packedDate = PackedDate::pack(isoDateTime.date); auto packedTime = PackedTime::pack(isoDateTime.time); - object->setFixedSlot(PlainDateTimeObject::PACKED_DATE_SLOT, - PrivateUint32Value(packedDate.value)); - object->setFixedSlot( + object->initFixedSlot(PlainDateTimeObject::PACKED_DATE_SLOT, + PrivateUint32Value(packedDate.value)); + object->initFixedSlot( PlainDateTimeObject::PACKED_TIME_SLOT, DoubleValue(mozilla::BitwiseCast<double>(packedTime.value))); // Step 5. - object->setFixedSlot(PlainDateTimeObject::CALENDAR_SLOT, - calendar.toSlotValue()); + object->initFixedSlot(PlainDateTimeObject::CALENDAR_SLOT, + calendar.toSlotValue()); // Step 6. return object; @@ -168,15 +168,15 @@ PlainDateTimeObject* js::temporal::CreateTemporalDateTime( // Step 4. auto packedDate = PackedDate::pack(isoDateTime.date); auto packedTime = PackedTime::pack(isoDateTime.time); - object->setFixedSlot(PlainDateTimeObject::PACKED_DATE_SLOT, - PrivateUint32Value(packedDate.value)); - object->setFixedSlot( + object->initFixedSlot(PlainDateTimeObject::PACKED_DATE_SLOT, + PrivateUint32Value(packedDate.value)); + object->initFixedSlot( PlainDateTimeObject::PACKED_TIME_SLOT, DoubleValue(mozilla::BitwiseCast<double>(packedTime.value))); // Step 5. - object->setFixedSlot(PlainDateTimeObject::CALENDAR_SLOT, - calendar.toSlotValue()); + object->initFixedSlot(PlainDateTimeObject::CALENDAR_SLOT, + calendar.toSlotValue()); // Step 6. return object; diff --git a/js/src/builtin/temporal/PlainMonthDay.cpp b/js/src/builtin/temporal/PlainMonthDay.cpp @@ -79,12 +79,12 @@ static PlainMonthDayObject* CreateTemporalMonthDay( // Step 4. auto packedDate = PackedDate::pack(isoDate); - object->setFixedSlot(PlainMonthDayObject::PACKED_DATE_SLOT, - PrivateUint32Value(packedDate.value)); + object->initFixedSlot(PlainMonthDayObject::PACKED_DATE_SLOT, + PrivateUint32Value(packedDate.value)); // Step 5. - object->setFixedSlot(PlainMonthDayObject::CALENDAR_SLOT, - calendar.toSlotValue()); + object->initFixedSlot(PlainMonthDayObject::CALENDAR_SLOT, + calendar.toSlotValue()); // Step 6. return object; @@ -108,12 +108,12 @@ PlainMonthDayObject* js::temporal::CreateTemporalMonthDay( // Step 4. auto packedDate = PackedDate::pack(monthDay); - object->setFixedSlot(PlainMonthDayObject::PACKED_DATE_SLOT, - PrivateUint32Value(packedDate.value)); + object->initFixedSlot(PlainMonthDayObject::PACKED_DATE_SLOT, + PrivateUint32Value(packedDate.value)); // Step 5. - object->setFixedSlot(PlainMonthDayObject::CALENDAR_SLOT, - monthDay.calendar().toSlotValue()); + object->initFixedSlot(PlainMonthDayObject::CALENDAR_SLOT, + monthDay.calendar().toSlotValue()); // Step 6. return object; diff --git a/js/src/builtin/temporal/PlainTime.cpp b/js/src/builtin/temporal/PlainTime.cpp @@ -274,7 +274,7 @@ static PlainTimeObject* CreateTemporalTime(JSContext* cx, const CallArgs& args, // Step 3. auto packedTime = PackedTime::pack(time); - object->setFixedSlot( + object->initFixedSlot( PlainTimeObject::PACKED_TIME_SLOT, DoubleValue(mozilla::BitwiseCast<double>(packedTime.value))); @@ -297,7 +297,7 @@ PlainTimeObject* js::temporal::CreateTemporalTime(JSContext* cx, // Step 3. auto packedTime = PackedTime::pack(time); - object->setFixedSlot( + object->initFixedSlot( PlainTimeObject::PACKED_TIME_SLOT, DoubleValue(mozilla::BitwiseCast<double>(packedTime.value))); diff --git a/js/src/builtin/temporal/PlainYearMonth.cpp b/js/src/builtin/temporal/PlainYearMonth.cpp @@ -107,12 +107,12 @@ static PlainYearMonthObject* CreateTemporalYearMonth( // Step 4. auto packedDate = PackedDate::pack(isoDate); - object->setFixedSlot(PlainYearMonthObject::PACKED_DATE_SLOT, - PrivateUint32Value(packedDate.value)); + object->initFixedSlot(PlainYearMonthObject::PACKED_DATE_SLOT, + PrivateUint32Value(packedDate.value)); // Step 5. - object->setFixedSlot(PlainYearMonthObject::CALENDAR_SLOT, - calendar.toSlotValue()); + object->initFixedSlot(PlainYearMonthObject::CALENDAR_SLOT, + calendar.toSlotValue()); // Step 6. return object; @@ -136,12 +136,12 @@ PlainYearMonthObject* js::temporal::CreateTemporalYearMonth( // Step 4. auto packedDate = PackedDate::pack(yearMonth); - object->setFixedSlot(PlainYearMonthObject::PACKED_DATE_SLOT, - PrivateUint32Value(packedDate.value)); + object->initFixedSlot(PlainYearMonthObject::PACKED_DATE_SLOT, + PrivateUint32Value(packedDate.value)); // Step 5. - object->setFixedSlot(PlainYearMonthObject::CALENDAR_SLOT, - yearMonth.calendar().toSlotValue()); + object->initFixedSlot(PlainYearMonthObject::CALENDAR_SLOT, + yearMonth.calendar().toSlotValue()); // Step 6. return object; diff --git a/js/src/builtin/temporal/TimeZone.cpp b/js/src/builtin/temporal/TimeZone.cpp @@ -103,13 +103,13 @@ TimeZoneObject* js::temporal::CreateTimeZoneObject( return nullptr; } - object->setFixedSlot(TimeZoneObject::IDENTIFIER_SLOT, - StringValue(identifier)); + object->initFixedSlot(TimeZoneObject::IDENTIFIER_SLOT, + StringValue(identifier)); - object->setFixedSlot(TimeZoneObject::PRIMARY_IDENTIFIER_SLOT, - StringValue(primaryIdentifier)); + object->initFixedSlot(TimeZoneObject::PRIMARY_IDENTIFIER_SLOT, + StringValue(primaryIdentifier)); - object->setFixedSlot(TimeZoneObject::OFFSET_MINUTES_SLOT, UndefinedValue()); + object->initFixedSlot(TimeZoneObject::OFFSET_MINUTES_SLOT, UndefinedValue()); return object; } @@ -139,14 +139,14 @@ static TimeZoneObject* CreateTimeZoneObject(JSContext* cx, return nullptr; } - object->setFixedSlot(TimeZoneObject::IDENTIFIER_SLOT, - StringValue(identifier)); + object->initFixedSlot(TimeZoneObject::IDENTIFIER_SLOT, + StringValue(identifier)); - object->setFixedSlot(TimeZoneObject::PRIMARY_IDENTIFIER_SLOT, - UndefinedValue()); + object->initFixedSlot(TimeZoneObject::PRIMARY_IDENTIFIER_SLOT, + UndefinedValue()); - object->setFixedSlot(TimeZoneObject::OFFSET_MINUTES_SLOT, - Int32Value(offsetMinutes)); + object->initFixedSlot(TimeZoneObject::OFFSET_MINUTES_SLOT, + Int32Value(offsetMinutes)); return object; } diff --git a/js/src/builtin/temporal/ZonedDateTime.cpp b/js/src/builtin/temporal/ZonedDateTime.cpp @@ -526,18 +526,18 @@ static ZonedDateTimeObject* CreateTemporalZonedDateTime( // Step 4. auto epochNs = ToEpochNanoseconds(epochNanoseconds); - object->setFixedSlot(ZonedDateTimeObject::SECONDS_SLOT, - NumberValue(epochNs.seconds)); - object->setFixedSlot(ZonedDateTimeObject::NANOSECONDS_SLOT, - Int32Value(epochNs.nanoseconds)); + object->initFixedSlot(ZonedDateTimeObject::SECONDS_SLOT, + NumberValue(epochNs.seconds)); + object->initFixedSlot(ZonedDateTimeObject::NANOSECONDS_SLOT, + Int32Value(epochNs.nanoseconds)); // Step 5. - object->setFixedSlot(ZonedDateTimeObject::TIMEZONE_SLOT, - timeZone.toSlotValue()); + object->initFixedSlot(ZonedDateTimeObject::TIMEZONE_SLOT, + timeZone.toSlotValue()); // Step 6. - object->setFixedSlot(ZonedDateTimeObject::CALENDAR_SLOT, - calendar.toSlotValue()); + object->initFixedSlot(ZonedDateTimeObject::CALENDAR_SLOT, + calendar.toSlotValue()); // Step 7. return object; @@ -560,18 +560,18 @@ ZonedDateTimeObject* js::temporal::CreateTemporalZonedDateTime( } // Step 4. - object->setFixedSlot(ZonedDateTimeObject::SECONDS_SLOT, - NumberValue(epochNanoseconds.seconds)); - object->setFixedSlot(ZonedDateTimeObject::NANOSECONDS_SLOT, - Int32Value(epochNanoseconds.nanoseconds)); + object->initFixedSlot(ZonedDateTimeObject::SECONDS_SLOT, + NumberValue(epochNanoseconds.seconds)); + object->initFixedSlot(ZonedDateTimeObject::NANOSECONDS_SLOT, + Int32Value(epochNanoseconds.nanoseconds)); // Step 5. - object->setFixedSlot(ZonedDateTimeObject::TIMEZONE_SLOT, - timeZone.toSlotValue()); + object->initFixedSlot(ZonedDateTimeObject::TIMEZONE_SLOT, + timeZone.toSlotValue()); // Step 6. - object->setFixedSlot(ZonedDateTimeObject::CALENDAR_SLOT, - calendar.toSlotValue()); + object->initFixedSlot(ZonedDateTimeObject::CALENDAR_SLOT, + calendar.toSlotValue()); // Step 7. return object; diff --git a/js/src/wasm/WasmAnyRef.cpp b/js/src/wasm/WasmAnyRef.cpp @@ -47,7 +47,7 @@ WasmValueBox* WasmValueBox::create(JSContext* cx, HandleValue value) { if (!obj) { return nullptr; } - obj->setFixedSlot(VALUE_SLOT, value); + obj->initFixedSlot(VALUE_SLOT, value); return obj; }