Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2ca559226b1bdd624bc8c4224662a5794227c048
https://github.com/WebKit/WebKit/commit/2ca559226b1bdd624bc8c4224662a5794227c048
Author: Anand Srinivasan <[email protected]>
Date: 2026-08-25 (Tue, 25 Aug 2026)
Changed paths:
A JSTests/microbenchmarks/temporal-plain-month-day-lunisolar-month-code.js
A JSTests/stress/temporal-lunisolar-memo-aliasing.js
M Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.cpp
Log Message:
-----------
Speed up lunisolar calendar month walk in JS Temporal
https://bugs.webkit.org/show_bug.cgi?id=322044
rdar://185152703
Reviewed by Yijia Huang.
Optimize chinese/dangi month code resolution in CalendarICUBridge.cpp by
caching results and no longer single stepping forward day by day.
TipOfTree
Changes
temporal-plain-month-day-lunisolar-month-code
14785.2729+-102.0720 ^
223.6251+-4.9208 ^ definitely 66.1163x faster
<geometric> 14785.2729+-102.0720 ^
223.6251+-4.9208 ^ definitely 66.1163x faster
Tests: JSTests/microbenchmarks/temporal-plain-month-day-lunisolar-month-code.js
JSTests/stress/temporal-lunisolar-memo-aliasing.js
* Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.cpp:
(JSC::TemporalCore::advanceToNextLunisolarMonth):
(JSC::TemporalCore::actualLunisolarMonthLength):
(JSC::TemporalCore::nonISOCalendarDateToISO):
(JSC::TemporalCore::WTF_GUARDED_BY_LOCK):
(JSC::TemporalCore::addUTCCalendarDays):
(JSC::TemporalCore::nonISODateUntil):
* JSTests/microbenchmarks/temporal-plain-month-day-lunisolar-month-code.js:
Added.
* JSTests/stress/temporal-lunisolar-memo-aliasing.js: Added.
(shouldBe):
(walkSlot):
Canonical link: https://commits.webkit.org/319834@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications