Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7692eececbfafe155706a21238377238c9dd3d35
https://github.com/WebKit/WebKit/commit/7692eececbfafe155706a21238377238c9dd3d35
Author: Yusuke Suzuki <[email protected]>
Date: 2026-09-14 (Mon, 14 Sep 2026)
Changed paths:
A JSTests/stress/weak-gc-set-keeps-live-values.js
M Source/JavaScriptCore/runtime/JSGlobalObject.h
M Source/JavaScriptCore/runtime/JSGlobalObjectInlines.h
M Source/JavaScriptCore/runtime/PropertyDescriptor.cpp
M Source/JavaScriptCore/runtime/WeakGCSet.h
M Source/JavaScriptCore/runtime/WeakGCSetInlines.h
M Source/JavaScriptCore/wasm/WasmTable.cpp
M Source/WebCore/dom/ScriptExecutionContext.h
M Source/WebCore/dom/ScriptExecutionContextInlines.h
Log Message:
-----------
[JSC] Implement WeakGCSet like new WeakGCMap
https://bugs.webkit.org/show_bug.cgi?id=324122
rdar://187340585
Reviewed by Dan Hecht.
This patch applies 320942@main change to WeakGCSet as well. Avoid using
Weak<> and prune dead entries at GC end phase.
Test: JSTests/stress/weak-gc-set-keeps-live-values.js
* JSTests/stress/weak-gc-set-keeps-live-values.js: Added.
(shouldBe):
* Source/JavaScriptCore/runtime/JSGlobalObject.h:
* Source/JavaScriptCore/runtime/JSGlobalObjectInlines.h:
(JSC::JSGlobalObject::WeakCustomGetterOrSetterHash<T>::hash):
(JSC::JSGlobalObject::WeakCustomGetterOrSetterHash<T>::equal):
* Source/JavaScriptCore/runtime/PropertyDescriptor.cpp:
(JSC::WeakCustomGetterOrSetterHashTranslator::equal):
* Source/JavaScriptCore/runtime/WeakGCSet.h:
(JSC::WeakGCSetHashTraits::isWeakNullValue): Deleted.
(JSC::WeakGCSetHash::hash): Deleted.
(JSC::WeakGCSetHash::equal): Deleted.
* Source/JavaScriptCore/runtime/WeakGCSetInlines.h:
(JSC::TraitsArg>::reconcileWeakReferencesAtGCEnd):
(JSC::TraitsArg>::pruneStaleEntries): Deleted.
* Source/JavaScriptCore/wasm/WasmTable.cpp:
(JSC::Wasm::Table::grow):
* Source/WebCore/dom/ScriptExecutionContext.h:
* Source/WebCore/dom/ScriptExecutionContextInlines.h:
(WebCore::ScriptExecutionContext::forEachMicrotaskGlobalObject):
Canonical link: https://commits.webkit.org/321098@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications