Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8b1d21ad4f48861d383244dc0b75c7356c9eedae
      
https://github.com/WebKit/WebKit/commit/8b1d21ad4f48861d383244dc0b75c7356c9eedae
  Author: Yusuke Suzuki <ysuz...@apple.com>
  Date:   2024-12-08 (Sun, 08 Dec 2024)

  Changed paths:
    M Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructor.cpp
    M Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototype.cpp
    M Source/JavaScriptCore/runtime/JSONObject.cpp
    M Source/JavaScriptCore/runtime/RegExpObjectInlines.h
    M Source/JavaScriptCore/runtime/RegExpSubstringGlobalAtomCache.cpp
    M Source/WTF/wtf/SIMDHelpers.h
    M Source/WTF/wtf/text/StringCommon.h
    M Tools/TestWebKitAPI/Tests/WTF/StringCommon.cpp

  Log Message:
  -----------
  [WTF] Add countMatchedCharacters
https://bugs.webkit.org/show_bug.cgi?id=284223
rdar://141088656

Reviewed by Justin Michaud.

This patch implements countMatchedCharacters with SIMD. We deploy
the algorithm used in bytecount module (MIT license, see license
term in the SIMDHelpers.h), and implement countMatchedCharacters with
that algorithm. We extend it to support uint16_t / uint32_t too.

We also tweak our SIMD loop to make them faster. Since they are too hot,
this kind of small tweaking can affect actually.

* Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructor.cpp:
(JSC::decodeHexImpl):
* Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototype.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* Source/JavaScriptCore/runtime/JSONObject.cpp:
(JSC::stringCopySameType):
(JSC::stringCopyUpconvert):
* Source/JavaScriptCore/runtime/RegExpObjectInlines.h:
(JSC::collectGlobalAtomMatches):
(JSC::countMatchedCharacters): Deleted.
* Source/JavaScriptCore/runtime/RegExpSubstringGlobalAtomCache.cpp:
(JSC::RegExpSubstringGlobalAtomCache::collectMatches):
* Source/WTF/wtf/SIMDHelpers.h:
(WTF::SIMD::load4x):
(WTF::SIMD::store4x):
(WTF::SIMD::sum):
(WTF::SIMD::sub):
(WTF::SIMD::find):
(WTF::SIMD::findInterleaved):
(WTF::SIMD::count):
* Source/WTF/wtf/text/StringCommon.h:
(WTF::charactersContain):
(WTF::countMatchedCharacters):
* Tools/TestWebKitAPI/Tests/WTF/StringCommon.cpp:
(TestWebKitAPI::TEST(WTF_StringCommon, CountMatchedCharacters8)):
(TestWebKitAPI::TEST(WTF_StringCommon, CountMatchedCharacters16)):

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



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

Reply via email to