Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9238babac42c5678ef3b4d8789b729316a9a18ae
https://github.com/WebKit/WebKit/commit/9238babac42c5678ef3b4d8789b729316a9a18ae
Author: Geoffrey Garen <[email protected]>
Date: 2026-06-03 (Wed, 03 Jun 2026)
Changed paths:
M Source/JavaScriptCore/dfg/DFGOperations.cpp
M Source/JavaScriptCore/heap/BlockDirectory.h
M Source/JavaScriptCore/heap/BlockDirectoryInlines.h
M Source/JavaScriptCore/heap/CellContainerInlines.h
M Source/JavaScriptCore/heap/IncrementalSweeper.cpp
M Source/JavaScriptCore/heap/MarkedBlock.cpp
M Source/JavaScriptCore/heap/MarkedBlock.h
M Source/JavaScriptCore/heap/MarkedBlockInlines.h
M Source/JavaScriptCore/heap/MarkedSpace.cpp
M Source/JavaScriptCore/heap/PreciseAllocation.cpp
M Source/JavaScriptCore/heap/SlotVisitor.cpp
M Source/JavaScriptCore/heap/WeakSet.cpp
M Source/JavaScriptCore/heap/WeakSet.h
M Source/JavaScriptCore/heap/WeakSetInlines.h
M Source/JavaScriptCore/runtime/CommonSlowPaths.cpp
M Source/JavaScriptCore/runtime/IndexingType.h
M Source/JavaScriptCore/runtime/JSDateMath.cpp
M Source/JavaScriptCore/runtime/JSDateMath.h
M Source/JavaScriptCore/runtime/JSLock.cpp
M Source/JavaScriptCore/runtime/JSPromise.cpp
M Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp
M Source/JavaScriptCore/runtime/JSPropertyNameEnumerator.h
M Source/JavaScriptCore/runtime/JSPropertyNameEnumeratorInlines.h
M Source/JavaScriptCore/runtime/NumericStrings.h
M Source/JavaScriptCore/runtime/VM.cpp
M Source/JavaScriptCore/runtime/VM.h
M Source/JavaScriptCore/runtime/VMInlines.h
M Source/JavaScriptCore/runtime/VMTraps.h
M Source/JavaScriptCore/runtime/VMTrapsInlines.h
M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp
M Source/WebCore/CMakeLists.txt
M Source/WebCore/WebCoreDOMAndRenderingPrefix.h
M Source/WebCore/WebCoreJSBindingsPrefix.h
M Source/WebCore/WebCorePrefix.h
M Source/WebCore/WebCoreRenderStyleInlinesPrefix.h
A Source/WebCore/WebCoreStylePrefix.h
M Source/WebKit/CMakeLists.txt
M Source/WebKit/NetworkProcess/Notifications/WebPushDaemonConnection.cpp
M Source/WebKit/NetworkProcess/Notifications/WebPushDaemonConnection.h
M Source/WebKit/Scripts/generate-message-receiver.py
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp
M Source/WebKit/UIProcess/Extensions/WebExtensionContext.h
M Source/WebKit/UIProcess/Inspector/WebInspectorBackendProxy.cpp
M Source/WebKit/UIProcess/Inspector/WebInspectorBackendProxy.h
M Source/WebKit/UIProcess/ProcessActivityGroup.cpp
M Source/WebKit/UIProcess/ProcessActivityGroup.h
M Source/WebKit/UIProcess/SpeechRecognitionServer.cpp
M Source/WebKit/UIProcess/SpeechRecognitionServer.h
A Source/WebKit/WebKitGPUProcessPrefix.h
R Source/WebKit/WebKitMessageReceiversPrefix.h
A Source/WebKit/WebKitNetworkProcessPrefix.h
M Source/WebKit/WebKitPrefix.h
A Source/WebKit/WebKitSharedPrefix.h
M Source/WebKit/WebKitUIProcessPrefix.h
M Source/WebKit/WebKitWebProcessPrefix.h
M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h
M Source/cmake/WebKitMacros.cmake
M Tools/Scripts/webkitpy/style/checkers/cpp.py
Log Message:
-----------
[CMake] Tune prefix headers
https://bugs.webkit.org/show_bug.cgi?id=316104
rdar://177465799
Reviewed by Keith Miller.
This is a step toward jumbo unified builds.
For some bundles, first-touch (cold) incremental build is uniquely slow. Tuning
prefix headers helps.
* Source/JavaScriptCore/dfg/DFGOperations.cpp:
* Source/JavaScriptCore/heap/BlockDirectory.h:
(JSC::BlockDirectory::findBlockToSweep): Deleted.
* Source/JavaScriptCore/heap/BlockDirectoryInlines.h:
(JSC::BlockDirectory::findBlockToSweep):
* Source/JavaScriptCore/heap/CellContainerInlines.h: Include
MarkedBlockInlines.h
now that MarkedBlock::noteMarked() lives there.
* Source/JavaScriptCore/heap/IncrementalSweeper.cpp:
* Source/JavaScriptCore/heap/MarkedBlock.cpp:
* Source/JavaScriptCore/heap/MarkedBlock.h:
(JSC::MarkedBlock::Handle::shrink): Deleted.
(JSC::MarkedBlock::Handle::markCount): Deleted.
(JSC::MarkedBlock::Handle::size): Deleted.
(JSC::MarkedBlock::noteMarked): Deleted.
* Source/JavaScriptCore/heap/MarkedBlockInlines.h:
(JSC::MarkedBlock::Handle::shrink):
(JSC::MarkedBlock::Handle::markCount):
(JSC::MarkedBlock::Handle::size):
(JSC::MarkedBlock::noteMarked):
* Source/JavaScriptCore/heap/MarkedSpace.cpp:
* Source/JavaScriptCore/heap/PreciseAllocation.cpp:
* Source/JavaScriptCore/heap/SlotVisitor.cpp:
* Source/JavaScriptCore/heap/WeakSet.cpp:
(JSC::WeakSet::lastChanceToFinalize):
* Source/JavaScriptCore/heap/WeakSet.h:
(JSC::WeakSet::lastChanceToFinalize): Deleted.
(JSC::WeakSet::reap): Deleted.
* Source/JavaScriptCore/heap/WeakSetInlines.h:
(JSC::WeakSet::reap):
* Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:
* Source/JavaScriptCore/runtime/IndexingType.h:
* Source/JavaScriptCore/runtime/JSDateMath.cpp:
(JSC::DateCache::timeZoneCache):
(JSC::DateCache::localTimeOffset):
* Source/JavaScriptCore/runtime/JSDateMath.h:
(JSC::DateCache::localTimeOffset): Deleted.
(JSC::DateCache::timeZoneCache): Deleted.
* Source/JavaScriptCore/runtime/JSLock.cpp:
* Source/JavaScriptCore/runtime/JSPromise.cpp:
* Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp:
* Source/JavaScriptCore/runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator): Deleted.
* Source/JavaScriptCore/runtime/JSPropertyNameEnumeratorInlines.h: Move
propertyNameEnumerator() (calls VM::emptyPropertyNameEnumerator()) to
*Inlines.h.
(JSC::propertyNameEnumerator):
* Source/JavaScriptCore/runtime/NumericStrings.h:
* Source/JavaScriptCore/runtime/VM.cpp:
* Source/JavaScriptCore/runtime/VM.h:
(JSC::VM::emptyPropertyNameEnumerator): Deleted.
(JSC::VM::promiseResolvingFunctionResolveExecutable): Deleted.
(JSC::VM::promiseResolvingFunctionRejectExecutable): Deleted.
(JSC::VM::promiseFirstResolvingFunctionResolveExecutable): Deleted.
(JSC::VM::promiseFirstResolvingFunctionRejectExecutable): Deleted.
(JSC::VM::promiseResolvingFunctionResolveWithInternalMicrotaskExecutable):
Deleted.
(JSC::VM::promiseResolvingFunctionRejectWithInternalMicrotaskExecutable):
Deleted.
(JSC::VM::promiseCapabilityExecutorExecutable): Deleted.
(JSC::VM::promiseAllFulfillFunctionExecutable): Deleted.
(JSC::VM::promiseAllSlowFulfillFunctionExecutable): Deleted.
(JSC::VM::promiseAllSettledFulfillFunctionExecutable): Deleted.
(JSC::VM::promiseAllSettledRejectFunctionExecutable): Deleted.
(JSC::VM::promiseAllSettledSlowFulfillFunctionExecutable): Deleted.
(JSC::VM::promiseAllSettledSlowRejectFunctionExecutable): Deleted.
(JSC::VM::promiseAnyRejectFunctionExecutable): Deleted.
(JSC::VM::promiseAnySlowRejectFunctionExecutable): Deleted.
* Source/JavaScriptCore/runtime/VMInlines.h:
(JSC::VM::emptyPropertyNameEnumerator):
* Source/JavaScriptCore/runtime/VMTraps.h:
(JSC::VMTraps::notifyGrabAllLocks): Deleted.
(JSC::VMTraps::setStackSoftLimit): Deleted.
(JSC::VMTraps::registerMirror): Deleted.
(JSC::VMTraps::unregisterMirror): Deleted.
(JSC::VMTraps::requestStop): Deleted.
(JSC::VMTraps::cancelStop): Deleted.
* Source/JavaScriptCore/runtime/VMTrapsInlines.h: Moved rarely used inline
functions into *Inlines.h. This helps prefix headers include type definitions
without requiring JSC to export lots of unnecessary functions.
Source/WebCore/CMakeLists.txt: New WebCoreStyle prefix / sub-target.
(JSC::VMTraps::notifyGrabAllLocks):
(JSC::VMTraps::setStackSoftLimit):
(JSC::VMTraps::registerMirror):
(JSC::VMTraps::unregisterMirror):
(JSC::VMTraps::requestStop):
(JSC::VMTraps::cancelStop):
* Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp: Include the
*Inlines.h that now defines a function each calls.
* Source/WebCore/CMakeLists.txt:
* Source/WebCore/WebCoreDOMAndRenderingPrefix.h:
* Source/WebCore/WebCoreJSBindingsPrefix.h:
* Source/WebCore/WebCorePrefix.h:
* Source/WebCore/WebCoreRenderStyleInlinesPrefix.h:
* Source/WebCore/WebCoreStylePrefix.h: Copied from
Source/WebCore/WebCoreRenderStyleInlinesPrefix.h.
* Source/WebKit/CMakeLists.txt: Separate MessageReceivers into per-topic
sub-directories for better header affinity.
New WebKitGPUProcess, WebKitNetworkProcess, WebKitShared prefixes / sub-targets.
* Source/WebKit/NetworkProcess/Notifications/WebPushDaemonConnection.cpp
* Source/WebKit/NetworkProcess/Notifications/WebPushDaemonConnection.cpp:
* Source/WebKit/NetworkProcess/Notifications/WebPushDaemonConnection.h:
Out-of-lined
some slow path constructors and destructors to work around a clang vtable bug
(rdar://176736350).
* Source/WebKit/Scripts/generate-message-receiver.py:
(main):
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp:
* Source/WebKit/UIProcess/Extensions/WebExtensionContext.h:
* Source/WebKit/UIProcess/Inspector/WebInspectorBackendProxy.cpp:
* Source/WebKit/UIProcess/Inspector/WebInspectorBackendProxy.h:
* Source/WebKit/UIProcess/ProcessActivityGroup.cpp:
* Source/WebKit/UIProcess/ProcessActivityGroup.h:
(WebKit::ProcessActivityGroupContext::~ProcessActivityGroupContext): Deleted.
* Source/WebKit/UIProcess/SpeechRecognitionServer.cpp:
* Source/WebKit/UIProcess/SpeechRecognitionServer.h:
* Source/WebKit/WebKitGPUProcessPrefix.h: Copied from
Source/WebKit/WebKitMessageReceiversPrefix.h.
* Source/WebKit/WebKitNetworkProcessPrefix.h: Copied from
Source/WebKit/WebKitMessageReceiversPrefix.h.
* Source/WebKit/WebKitPrefix.h:
* Source/WebKit/WebKitSharedPrefix.h: Renamed from
Source/WebKit/WebKitMessageReceiversPrefix.h.
* Source/WebKit/WebKitUIProcessPrefix.h:
* Source/WebKit/WebKitWebProcessPrefix.h:
* Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h: Removed unused
data (since clang flags it now)
* Source/cmake/WebKitMacros.cmake: Added support for a unified source's
Sources.txt
being a generated file. When we load a file from
${_framework}_UNIFIED_SOURCE_LIST_FILES,
we first look in the static source tree, and then fall back to DerivedSources.
MessageReceivers uses this now.
Longer term, maybe we should make these path specifications absolute.
* Tools/Scripts/webkitpy/style/checkers/cpp.py: Exempt *Prefix.h from the
alphabetical / "mixing system and custom headers" include-order check. Prefix
headers have load-bearing include order (export macros must precede project
headers; chain-parent prefix must be first). *Prefix.h is already exempt from
the config.h-first check (line 1012) and the Inlines-in-header check (line
4226).
(check_include_line):
Canonical link: https://commits.webkit.org/314479@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications