Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 34832d663f81f5fa530c016e9b6e1b52ae34e9f2
https://github.com/WebKit/WebKit/commit/34832d663f81f5fa530c016e9b6e1b52ae34e9f2
Author: Dan Hecht <[email protected]>
Date: 2026-10-08 (Thu, 08 Oct 2026)
Changed paths:
M Source/JavaScriptCore/heap/Collector.cpp
M Source/JavaScriptCore/heap/Heap.cpp
M Source/JavaScriptCore/heap/Heap.h
Log Message:
-----------
[JSC] Use the heap's own visitor in rememberExecutingAndCompilingCodeBlocks()
https://bugs.webkit.org/show_bug.cgi?id=326700
rdar://189429738
Reviewed by Marcus Plutowski.
Each heap's End step calls Heap::rememberExecutingAndCompilingCodeBlocks()
with the Collector's visitor, which it uses only to check marks. That is
read-only, so sharing the visitor is safe today, but a per-heap step should not
be handed mutable state that parallel steps would share. Use the heap's own
mutator visitor, which has the same marking version.
The visitor parameter was added for the GC verifier (234335@main), whose
visitor keeps its own mark bits. Before that, this step checked marks with
Heap::isMarked(). Every visitor of a real collection gives the same answer as
Heap::isMarked(), so End can use any of them.
No change in behavior.
* Source/JavaScriptCore/heap/Collector.cpp:
(JSC::Collector::endCollectionInEachHeap):
* Source/JavaScriptCore/heap/Heap.cpp:
(JSC::Heap::rememberExecutingAndCompilingCodeBlocks):
* Source/JavaScriptCore/heap/Heap.h:
Canonical link: https://commits.webkit.org/323112@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications