Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9dd0abc261828479fac8134d26d7138b962df5a3
https://github.com/WebKit/WebKit/commit/9dd0abc261828479fac8134d26d7138b962df5a3
Author: Ithril <[email protected]>
Date: 2026-07-21 (Tue, 21 Jul 2026)
Changed paths:
M JSTests/stress/temporal-calendar-icu-bridge-non-iso.js
M Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.cpp
Log Message:
-----------
[JSC][Temporal] Fix fixed-solar non-ISO calendar arithmetic
https://bugs.webkit.org/show_bug.cgi?id=319804
Reviewed by Yijia Huang.
ICU calendar arithmetic can clamp at the supported instant boundaries, leaving
partially clamped native fields for fixed-solar non-ISO calendars. Construct
and verify native year, month, and day fields directly for Coptic, Ethiopic,
Ethioaa, Indian, and Persian, balance their 12/13-month years explicitly, and
finish weeks and days in ISO space. Use the same checked construction for
dateUntil so large month differences remain direct and add/until stay
consistent. Keep Ethioaa arithmetic on its calendar-native UCAL_YEAR field.
Test: JSTests/stress/temporal-calendar-icu-bridge-non-iso.js
The focused stress/JIT coverage and the supported Temporal Test262 suite
passed, including boundary and overflow cases; 10 unsupported files remained
configured skips.
* JSTests/stress/temporal-calendar-icu-bridge-non-iso.js:
- Add fixed-solar add/until, overflow, balancing, inverse, and boundary
coverage.
* Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.cpp:
(JSC::Temporal::calendarArithmeticYearField):
(JSC::Temporal::resolveMonthCodeToOrdinal):
(JSC::Temporal::fixedSolarMonthsInYear):
(JSC::Temporal::balanceFixedSolarYearMonth):
(JSC::Temporal::setFixedSolarCalendarToYearMonth):
(JSC::Temporal::fixedSolarDateAdd):
(JSC::Temporal::calendarDateAdd):
(JSC::Temporal::calendarDateUntil):
- Add direct checked fixed-solar native calendar arithmetic.
Canonical link: https://commits.webkit.org/317627@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications