Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: badfefea5cf9b314c1aeaaae17244a1c9fbc9c34
      
https://github.com/WebKit/WebKit/commit/badfefea5cf9b314c1aeaaae17244a1c9fbc9c34
  Author: Alex Christensen <[email protected]>
  Date:   2025-06-17 (Tue, 17 Jun 2025)

  Changed paths:
    M Source/JavaScriptCore/runtime/LiteralParser.cpp
    M Source/WTF/wtf/Variant.h
    M 
Source/WebCore/Modules/identity/protocols/UnvalidatedDigitalCredentialRequest.h

  Log Message:
  -----------
  Use mpark::variant on Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=293326
rdar://problem/151733273

Reviewed by Abrar Rahman Protyasha.

This completes the process begun in 293592@main.
This reduces the binary size as noted in 293804@main
293819@main was also preparation for this.

Legal approval and initial perf analysis links are included in the radar.
Initial perf analysis was somewhat inconclusive, so we'll be checking tomorrow.

Slight modifications from mpark::variant include these:
1. I include the license inline instead of in a separate file.
2. I include all needed headers inline instead of separate files.
3. I add a RELEASE_ASSERT and ignore -Wunsafe-buffer-usage around
the array access in mpark::lib::cpp14::array::operator[]
4. I unconditionally remove the definition of MPARK_EXCEPTIONS
because WebKit doesn't have C++ assertions enabled.
5. I include some auxiliary support in namespace WTF for things like
InPlaceType, VariantAlternative, VariantSize, etc.

* Source/WTF/wtf/Variant.h:
(mpark::lib::cpp14::array::operator[] const):
(mpark::lib::cpp17::detail::invoke_result<void_t<decltype):
(mpark::lib::cpp17::detail::has_addressof_impl::impl):
(mpark::lib::type_pack_element_impl::decltype):
(mpark::throw_bad_variant_access):
(mpark::detail::find_index):
(mpark::detail::find_index_impl):
(mpark::detail::trait):
(mpark::detail::common_trait):
(mpark::detail::common_trait_impl):
(mpark::detail::access::recursive_union::get_alt):
(mpark::detail::access::recursive_union::get_alt_impl::AUTO_REFREF_RETURN):
(mpark::detail::access::recursive_union::AUTO_REFREF_RETURN):
(mpark::detail::access::base::AUTO_REFREF_RETURN):
(mpark::detail::visitation::base::expected::but_got):
(mpark::detail::visitation::base::make_farray):
(mpark::detail::visitation::base::make_fmatrix_impl::impl):
(mpark::detail::visitation::base::make_fmatrix):
(mpark::detail::visitation::base::AUTO_RETURN):
(mpark::detail::visitation::base::make_fdiagonal):
(mpark::detail::visitation::variant::visitor::does_not_handle):
(mpark::detail::visitation::variant::AUTO_RETURN):
(mpark::detail::alt::alt):
(mpark::detail::MPARK_VARIANT_RECURSIVE_UNION):
(mpark::detail::base::base):
(mpark::detail::base::index_):
(mpark::detail::base::as_base):
(mpark::detail::base::data):
(mpark::detail::base::size):
(mpark::detail::MPARK_VARIANT_DESTRUCTOR):
(mpark::detail::constructor::ctor::operator() const):
(mpark::detail::constructor::construct_alt):
(mpark::detail::constructor::generic_construct):
(mpark::detail::MPARK_VARIANT_MOVE_CONSTRUCTOR):
(mpark::detail::MPARK_VARIANT_COPY_CONSTRUCTOR):
(mpark::detail::assignment::emplace):
(mpark::detail::assignment::assigner::operator() const):
(mpark::detail::assignment::assign_alt):
(mpark::detail::assignment::generic_assign):
(mpark::detail::MPARK_VARIANT_MOVE_ASSIGNMENT):
(mpark::detail::MPARK_VARIANT_COPY_ASSIGNMENT):
(mpark::detail::impl::assign):
(mpark::detail::impl::swap):
(mpark::detail::impl::swapper::operator() const):
(mpark::detail::impl::move_nothrow const):
(mpark::detail::is_non_narrowing_convertible::impl):
(mpark::variant::noexcept):
(mpark::variant::emplace):
(mpark::get):
(mpark::detail::convert_to_bool::operator() const):
(mpark::operator==):
(mpark::operator!=):
(mpark::operator<):
(mpark::operator>):
(mpark::operator<=):
(mpark::operator>=):
(mpark::detail::any):
(mpark::visit):
(mpark::detail::all_impl):
(mpark::detail::all):
(mpark::DECLTYPE_AUTO_RETURN):
(mpark::noexcept):
(std::get):
(WTF::visit):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to