Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1d03118dfe73ca1bd635c2d66d049793d2b195a4
      
https://github.com/WebKit/WebKit/commit/1d03118dfe73ca1bd635c2d66d049793d2b195a4
  Author: Dan Hecht <[email protected]>
  Date:   2026-09-28 (Mon, 28 Sep 2026)

  Changed paths:
    M Source/JavaScriptCore/heap/Collector.cpp
    M Source/JavaScriptCore/heap/Collector.h
    M Source/JavaScriptCore/heap/Heap.cpp
    M Source/JavaScriptCore/heap/Heap.h
    M Source/JavaScriptCore/runtime/VM.cpp

  Log Message:
  -----------
  [JSC] Separate the Heap's shutdown from its finalization

https://bugs.webkit.org/show_bug.cgi?id=325527
rdar://188620913

Reviewed by Yusuke Suzuki.

Heap::lastChanceToFinalize() did two jobs: it shut down the heap's collection, 
including bringing the
collector thread down, and then finalized what was left in the heap. Only the 
second is what its name
says, and bringing the thread down is the Collector's. Separating them leaves 
one place to change once
a Collector serves more than one heap, when a heap going away leaves the 
Collector rather than stopping
it.

 * Heap::shutDown(), called from VM::~VM, does the shutdown and then calls 
Heap::lastChanceToFinalize(),
   which now only finalizes and is private.
 * Collector::stopThread() brings the collector thread down.

No change in behavior.

* Source/JavaScriptCore/heap/Collector.cpp:
(JSC::Collector::stopThread):
* Source/JavaScriptCore/heap/Collector.h:
* Source/JavaScriptCore/heap/Heap.cpp:
(JSC::Heap::shutDown):
(JSC::Heap::lastChanceToFinalize):
* Source/JavaScriptCore/heap/Heap.h:
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::~VM):

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



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

Reply via email to