Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 14ba1421ca0812acc6e5b5f3aad870ede7cbbbf7
      
https://github.com/WebKit/WebKit/commit/14ba1421ca0812acc6e5b5f3aad870ede7cbbbf7
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-02-09 (Mon, 09 Feb 2026)

  Changed paths:
    M 
LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/test_font_feature_values_parsing-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/user-timing/measures-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-iterable.https-expected.txt
    M LayoutTests/inspector/debugger/paused-scopes-expected.txt
    M LayoutTests/inspector/storage/setDOMStorageItem-expected.txt
    M 
LayoutTests/platform/glib/accessibility/content-editable-as-textarea-expected.txt
    M 
LayoutTests/platform/gtk/accessibility/native-text-control-attributed-string-expected.txt
    M 
Source/JavaScriptCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
    M Source/JavaScriptCore/create_hash_table
    M Source/JavaScriptCore/runtime/ImportMap.cpp
    M Source/JavaScriptCore/tools/JSDollarVM.cpp
    M Source/JavaScriptCore/yarr/generateYarrUnicodePropertyTables.py
    M Source/JavaScriptCore/yarr/hasher.py
    M Source/WTF/wtf/PlatformEnable.h
    M Source/WTF/wtf/text/StringHasher.h
    M Source/WTF/wtf/text/StringHasherInlines.h
    M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
    M Source/WebCore/bindings/scripts/Hasher.pm
    M Source/WebCore/bindings/scripts/test/JS/JSDOMWindow.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp
    M 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
    M Source/WebCore/bindings/scripts/test/JS/JSWorkerGlobalScope.cpp
    M Tools/TestWebKitAPI/Tests/WTF/StringHasher.cpp
    M Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp
    M Tools/TestWebKitAPI/Tests/WTF/UTF8Conversion.cpp
    M Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIPermissions.mm

  Log Message:
  -----------
  [JSC] Always use WYHash for strings
https://bugs.webkit.org/show_bug.cgi?id=307259
rdar://169899503

Reviewed by Yijia Huang.

This patch enables WYHash regardless of string size. Previously it had a
threshold mainly because of weak devices.

Also, by changing Hash ordering due to hash change, we found a bug in
ImportMap.
1. JSON entries should be iterated via insertion ordering. We should use
   keys() to iterate them in that order.
2. Override the mapping with the last appearing entry via set instead of
   add.

* 
LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/test_font_feature_values_parsing-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/user-timing/measures-expected.txt:
* 
LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-audioparam-iterable.https-expected.txt:
* LayoutTests/inspector/storage/setDOMStorageItem-expected.txt:
* 
Source/JavaScriptCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations:
* Source/JavaScriptCore/create_hash_table:
* Source/JavaScriptCore/runtime/ImportMap.cpp:
(JSC::ImportMap::resolve):
(JSC::sortAndNormalizeSpecifierMap):
(JSC::ImportMap::parseImportMapString):
* Source/JavaScriptCore/tools/JSDollarVM.cpp:
* Source/JavaScriptCore/yarr/generateYarrUnicodePropertyTables.py:
(PropertyData.createAndDumpHashTable.createAndDumpHashTableHelper):
(PropertyData.createAndDumpHashTable):
* Source/JavaScriptCore/yarr/hasher.py:
(stringHash):
(createHashTable):
* Source/WTF/wtf/PlatformEnable.h:
* Source/WTF/wtf/text/StringHasher.h:
* Source/WTF/wtf/text/StringHasherInlines.h:
(WTF::StringHasher::computeHashAndMaskTop8Bits):
(WTF::StringHasher::computeLiteralHashAndMaskTop8Bits):
(WTF::StringHasher::addCharacter):
(WTF::StringHasher::hashWithTop8BitsMasked):
* Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:
(GenerateHashTable):
* Source/WebCore/bindings/scripts/Hasher.pm:
* Source/WebCore/bindings/scripts/test/JS/JSDOMWindow.cpp:
(WebCore::JSDOMWindowDOMConstructor::prototypeForStructure):
* Source/WebCore/bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:
(WebCore::JSDedicatedWorkerGlobalScopeDOMConstructor::prototypeForStructure):
* Source/WebCore/bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:
(WebCore::JSPaintWorkletGlobalScopeDOMConstructor::prototypeForStructure):
* Source/WebCore/bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:
(WebCore::JSServiceWorkerGlobalScopeDOMConstructor::prototypeForStructure):
* Source/WebCore/bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScopeDOMConstructor::prototypeForStructure):
* Source/WebCore/bindings/scripts/test/JS/JSSharedWorkerGlobalScope.cpp:
(WebCore::JSSharedWorkerGlobalScopeDOMConstructor::prototypeForStructure):
* Source/WebCore/bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObjectDOMConstructor::prototypeForStructure):
* 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesDOMConstructor::prototypeForStructure):
* 
Source/WebCore/bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:
(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltInsDOMConstructor::prototypeForStructure):
* Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjDOMConstructor::construct):
* Source/WebCore/bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:
(WebCore::JSWorkerGlobalScopeDOMConstructor::prototypeForStructure):
* Tools/TestWebKitAPI/Tests/WTF/StringHasher.cpp:
* Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp:
(TestWebKitAPI::doStaticStringImplTests):
* Tools/TestWebKitAPI/Tests/WTF/UTF8Conversion.cpp:
(TestWebKitAPI::TEST(WTF_UTF8Conversion, ComputeUTF16LengthWithHash)):
* Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::TEST_F(ContentExtensionTest, MultipleExtensions)):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST(ResourceLoadStatistics, GetResourceLoadStatisticsDataSummary)):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebExtensionAPIPermissions.mm:
(TestWebKitAPI::TEST(WKWebExtensionAPIPermissions, Basics)):

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



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

Reply via email to