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

Reply via email to