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