Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4ba47c6bf8bc21d5cc9506b216426fe876b645d0
      
https://github.com/WebKit/WebKit/commit/4ba47c6bf8bc21d5cc9506b216426fe876b645d0
  Author: Geoffrey Garen <[email protected]>
  Date:   2026-05-04 (Mon, 04 May 2026)

  Changed paths:
    M Source/JavaScriptCore/JavaScriptCorePrefix.h
    M Source/JavaScriptCore/SaferCPPExpectations/ForwardDeclCheckerExpectations
    M Source/JavaScriptCore/bytecode/CodeBlock.cpp
    M Source/JavaScriptCore/heap/SlotVisitorMacros.h
    M Source/JavaScriptCore/shell/CMakeLists.txt
    M Source/JavaScriptCore/shell/PlatformMac.cmake
    A Source/ThirdParty/ANGLE/ANGLEPrefix.h
    M Source/ThirdParty/ANGLE/CMakeLists.txt
    M Source/WTF/Configurations/WTF.xcconfig
    R Source/WTF/WTFPrefix.h
    M Source/WTF/wtf/PlatformMac.cmake
    A Source/WTF/wtf/WTFPrefix.h
    M Source/WebCore/PAL/pal/CMakeLists.txt
    A Source/WebCore/PAL/pal/PALPrefix.h
    M Source/WebCore/WebCorePrefix.h
    M Source/WebGPU/WGSL/CMakeLists.txt
    A Source/WebGPU/WGSL/WGSLPrefix.h
    M Source/WebGPU/WebGPU/CMakeLists.txt
    A Source/WebGPU/WebGPU/WebGPUPrefix.h
    M Source/WebKit/CMakeLists.txt
    M Source/WebKit/Configurations/BaseTarget.xcconfig
    M Source/WebKit/PlatformGTK.cmake
    M Source/WebKit/PlatformMac.cmake
    M Source/WebKit/PlatformWPE.cmake
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    R Source/WebKit/WebKit2Prefix.h
    A Source/WebKit/WebKitPrefix.h
    M Source/WebKit/config.h
    M Source/WebKitLegacy/PlatformMac.cmake
    M Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj
    A Source/WebKitLegacy/WebKitLegacyPrefix.h
    M Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig
    M Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm
    R Source/WebKitLegacy/mac/WebKitPrefix.h
    M Source/cmake/OptionsMac.cmake
    M Source/cmake/WebKitCompilerFlags.cmake
    M Source/cmake/WebKitMacros.cmake
    M Tools/Scripts/webkitpy/style/checkers/cpp.py
    M Tools/TestWebKitAPI/CMakeLists.txt
    M Tools/TestWebKitAPI/PlatformMac.cmake
    M Tools/WebKitTestRunner/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Rationalize precompiled headers
https://bugs.webkit.org/show_bug.cgi?id=313938
<rdar://problem/176144574>

Reviewed by Dan Glastonbury.

~11% clean build speedup; no incremental build regression.

- Added headers with >= 80% usage to their respective projects'
prefix headers

- Turned on prefix headers for projects that compile ObjC++ and/or
Swift.

- Added new prefix headers for PAL, WGSL, WebGPU, and ANGLE/GLESv2.

- Applied existing prefix headers to test targets that were missing
them: testapi, testb3, testwasmdebugger, TestRunnerInjectedBundle,
and TestWebKitAPIInjectedBundle.

- Renamed:
    * WebKit2Prefix.h => WebKitPrefix.h
    * mac/WebKitPrefix.h => WebKitLegacyPrefix
    * WTFPrefix.h => wtf/WTFPrefix.h

- Added a GCC warning suppression because new inlining expands the
the scope of the compiler bug we were already suppressing locally.

  Overall A/B results:

  ┌───────────────────────┬─────────┬─────────┬───────────────────┐
  │         Build         │ base(s) │ head(s) │         Δ         │
  ├───────────────────────┼─────────┼─────────┼───────────────────┤
  │ Clean build           │ 1015.13 │ 904.27  │ −110.9 s / −10.9% │
  ├───────────────────────┼─────────┼─────────┼───────────────────┤
  │ Touch APIDataCocoa.mm │    7.62 │   7.06  │             −7.3% │
  ├───────────────────────┼─────────┼─────────┼───────────────────┤
  │ No-op                 │    0.40 │   0.42  │             noise │
  └───────────────────────┴─────────┴─────────┴───────────────────┘

  Per-target A/B results:

  ┌─────────────────────┬─────────┬───────────────┬───────────────┐
  │       Target        │ base(s) │    head(s)    │      Δ%       │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ WTF                 │   101.5 │    67.7       │        −33.3% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ JavaScriptCore      │  1112.9 │   921.5       │        −17.2% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ ANGLE               │   431.6 │   255.3       │        −40.9% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ GLESv2              │    31.0 │    25.8       │        −16.7% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ PAL                 │   159.2 │    83.0       │        −47.9% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ WGSL                │   171.7 │    83.6       │        −51.3% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ WebGPU              │   192.4 │    84.7       │        −56.0% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ WebCore             │  6858.0 │  6547.2       │         −4.5% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ WebKitLegacy        │   535.3 │   368.0       │        −31.3% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ WebKit (+ARC+procs) │  3002.8 │  2657.0       │        −11.5% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ TestWebKit          │   243.3 │   137.8       │        −43.4% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ TestWebKitAPIBundle │    60.3 │    24.9       │        −58.7% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ WebKitTestRunner    │   137.0 │   116.4       │        −15.1% │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ webrtc              │  1450.5 │  1422.9       │        noise  │
  ├─────────────────────┼─────────┼───────────────┼───────────────┤
  │ TOTAL               │ 15654.6 │ 14000.0       │        −10.6% │
  └─────────────────────┴─────────┴───────────────┴───────────────┘

* Source/JavaScriptCore/JavaScriptCorePrefix.h:
* Source/JavaScriptCore/SaferCPPExpectations/ForwardDeclCheckerExpectations:
* Source/JavaScriptCore/bytecode/CodeBlock.cpp:
(JSC::CodeBlock::unlinkOrUpgradeIncomingCalls):
* Source/JavaScriptCore/heap/SlotVisitorMacros.h:
* Source/JavaScriptCore/shell/CMakeLists.txt:
* Source/JavaScriptCore/shell/PlatformMac.cmake:
* Source/ThirdParty/ANGLE/ANGLEPrefix.h: Copied from Source/WTF/WTFPrefix.h.
* Source/ThirdParty/ANGLE/CMakeLists.txt:
* Source/WTF/Configurations/WTF.xcconfig:
* Source/WTF/wtf/PlatformMac.cmake:
* Source/WTF/wtf/WTFPrefix.h: Renamed from Source/WTF/WTFPrefix.h.
* Source/WebCore/PAL/pal/CMakeLists.txt:
* Source/WebCore/PAL/pal/PALPrefix.h: Copied from Source/WTF/WTFPrefix.h.
* Source/WebCore/WebCorePrefix.h:
* Source/WebGPU/WGSL/CMakeLists.txt:
* Source/WebGPU/WGSL/WGSLPrefix.h: Copied from Source/WTF/WTFPrefix.h.
* Source/WebGPU/WebGPU/CMakeLists.txt:
* Source/WebGPU/WebGPU/WebGPUPrefix.h: Renamed from Source/WTF/WTFPrefix.h.
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/Configurations/BaseTarget.xcconfig:
* Source/WebKit/PlatformGTK.cmake:
* Source/WebKit/PlatformMac.cmake:
* Source/WebKit/PlatformWPE.cmake:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebKitPrefix.h: Renamed from Source/WebKit/WebKit2Prefix.h.
* Source/WebKit/config.h:
* Source/WebKitLegacy/PlatformMac.cmake:
* Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:
* Source/WebKitLegacy/WebKitLegacyPrefix.h: Renamed from 
Source/WebKitLegacy/mac/WebKitPrefix.h.
* Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
* Source/WebKitLegacy/mac/WebCoreSupport/WebChromeClient.mm:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitCompilerFlags.cmake:
* Source/cmake/WebKitMacros.cmake:
* Tools/Scripts/webkitpy/style/checkers/cpp.py:
(check_include_line):
* Tools/TestWebKitAPI/CMakeLists.txt:
* Tools/TestWebKitAPI/PlatformMac.cmake:
* Tools/WebKitTestRunner/CMakeLists.txt:

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



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

Reply via email to