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