Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 895301e145c41668c94837c36e071fa3c448af86
      
https://github.com/WebKit/WebKit/commit/895301e145c41668c94837c36e071fa3c448af86
  Author: Justin Michaud <[email protected]>
  Date:   2026-05-13 (Wed, 13 May 2026)

  Changed paths:
    M Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp
    M Source/JavaScriptCore/runtime/IntlDateTimeFormat.h

  Log Message:
  -----------
  Split up IntlDateFormat into const impl ptr
https://bugs.webkit.org/show_bug.cgi?id=314419

Reviewed by Yusuke Suzuki.

This gets split up into an immutable core, a lazy mutable
calendar/numberingSystem, and the JS wrapper.

This involves some ugly m_impl verbosity, but it makes a bunch of stuff
actually const, which I think is logically correct.

A follow-up could replace the mutable fields with some kind of frozen
or lazy abstraction.

The motivation for this patch is to make it possible to share and cache
these impl pointers.

* Source/JavaScriptCore/runtime/IntlDateTimeFormat.cpp:
(JSC::openDateFormat):
(JSC::IntlDateTimeFormat::visitChildrenImpl):
(JSC::IntlDateTimeFormat::setFormatsFromPattern):
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::resolvedOptions const):
(JSC::IntlDateTimeFormat::format const):
(JSC::IntlDateTimeFormat::formatToParts const):
(JSC::IntlDateTimeFormat::createDateIntervalFormatIfNecessary):
(JSC::formattedValueFromDateRange):
(JSC::IntlDateTimeFormat::formatRange):
(JSC::IntlDateTimeFormat::formatRangeToParts):
* Source/JavaScriptCore/runtime/IntlDateTimeFormat.h:
(JSC::IntlDateTimeFormatImpl::create):

Canonical link: https://commits.webkit.org/313158@main



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

Reply via email to