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

Reply via email to