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

Reply via email to