Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7f9fbe74e49215f831e45d4026ba4b37c9492ef6
https://github.com/WebKit/WebKit/commit/7f9fbe74e49215f831e45d4026ba4b37c9492ef6
Author: Yijia Huang <[email protected]>
Date: 2026-05-14 (Thu, 14 May 2026)
Changed paths:
M Source/JavaScriptCore/API/tests/TemporalCoreTest.cpp
M Source/JavaScriptCore/runtime/FractionToDouble.cpp
M Source/JavaScriptCore/runtime/FractionToDouble.h
M Source/JavaScriptCore/runtime/temporal/core/DurationArithmetic.cpp
M Source/JavaScriptCore/runtime/temporal/core/DurationArithmetic.h
M Source/JavaScriptCore/runtime/temporal/core/ZonedDateTimeCore.cpp
M Source/JavaScriptCore/runtime/temporal/core/ZonedDateTimeCore.h
Log Message:
-----------
[JSC][Temporal] Fix fractionToDouble for large denominators and consolidate
ZonedDateTime diff
https://bugs.webkit.org/show_bug.cgi?id=314848
rdar://177102646
Reviewed by Yusuke Suzuki.
Add an Int128-denominator overload of fractionToDouble to handle year-scale
epoch-ns windows (~3.15e16 ns > 2^53) in nudgeToCalendarUnit without
triggering the isSafeInteger assertion. The Int128 overload extends the
Hida-Li-Bailey section 3.5 algorithm by representing the denominator in
double-double form, giving a more precise result than casting to double.
Move differenceZonedDateTimeForDuration out of DurationArithmetic into
ZonedDateTimeCore where it belongs alongside other timezone operations.
Change differenceZonedDateTimeWithRounding to return InternalDuration
instead of Duration, deferring conversion to the JS-layer caller. Fix
spec step annotations in differenceZonedDateTime (steps 12-15 were off
by 1, sub-steps 11.b/11.e/11.g were missing).
Test: Source/JavaScriptCore/API/tests/TemporalCoreTest.cpp
Canonical link: https://commits.webkit.org/313276@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications