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