Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f0994a790e4487dab6d66e98ac79eca96c645ebd
      
https://github.com/WebKit/WebKit/commit/f0994a790e4487dab6d66e98ac79eca96c645ebd
  Author: Yijia Huang <[email protected]>
  Date:   2026-05-08 (Fri, 08 May 2026)

  Changed paths:
    A Source/JavaScriptCore/API/tests/TemporalCoreTest.cpp
    A Source/JavaScriptCore/API/tests/TemporalCoreTest.h
    M Source/JavaScriptCore/API/tests/testapi.c
    M Source/JavaScriptCore/CMakeLists.txt
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/Sources.txt
    M Source/JavaScriptCore/runtime/ISO8601.cpp
    M Source/JavaScriptCore/runtime/ISO8601.h
    M Source/JavaScriptCore/runtime/TemporalDuration.cpp
    M Source/JavaScriptCore/runtime/TemporalInstant.cpp
    M Source/JavaScriptCore/runtime/TemporalObject.cpp
    M Source/JavaScriptCore/runtime/TemporalObject.h
    M Source/JavaScriptCore/runtime/TemporalPlainDate.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainDateTime.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainTime.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainYearMonth.cpp
    A Source/JavaScriptCore/runtime/temporal/core/CalendarArithmetic.cpp
    A Source/JavaScriptCore/runtime/temporal/core/CalendarArithmetic.h
    A Source/JavaScriptCore/runtime/temporal/core/ISOArithmetic.cpp
    A Source/JavaScriptCore/runtime/temporal/core/ISOArithmetic.h
    A Source/JavaScriptCore/runtime/temporal/core/InstantCore.cpp
    A Source/JavaScriptCore/runtime/temporal/core/InstantCore.h
    A Source/JavaScriptCore/runtime/temporal/core/Rounding.cpp
    A Source/JavaScriptCore/runtime/temporal/core/Rounding.h
    M Source/JavaScriptCore/runtime/temporal/core/TemporalCoreTypes.h
    M Source/JavaScriptCore/runtime/temporal/core/TemporalEnums.h
    M Source/JavaScriptCore/shell/CMakeLists.txt

  Log Message:
  -----------
  [JSC][Temporal] Add pure C++ core layer: Rounding, ISOArithmetic, 
InstantCore, CalendarArithmetic
https://bugs.webkit.org/show_bug.cgi?id=314432
rdar://176580834

Reviewed by Yusuke Suzuki.

The Temporal spec algorithms were previously inlined throughout the JS
wrapper layer (TemporalDuration.cpp, TemporalPlainDate.cpp, etc.),
tightly coupling spec math with JSGlobalObject* and JSValue. This patch
extracts them into a pure C++ core layer under runtime/temporal/core/
with no JS VM types, enabling:
- C++ unit testing without a JS engine (TemporalCoreTest.cpp, ~200
  tests mirroring temporal_rs v0.2.3 test suite)
- Spec step annotations and temporal_rs cross-references in every
  function body for reviewer traceability
- Cleaner separation between spec algorithm and JS binding layers

Callers in TemporalDuration.cpp, TemporalPlainTime.cpp,
TemporalPlainDate.cpp, ISO8601.cpp, etc. are updated to call the
TemporalCore:: qualified names.

Tests: Source/JavaScriptCore/API/tests/TemporalCoreTest
Canonical link: https://commits.webkit.org/312935@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to