Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: de28096b962622d37ebbf83783fbae3637546316
https://github.com/WebKit/WebKit/commit/de28096b962622d37ebbf83783fbae3637546316
Author: Geoffrey Garen <[email protected]>
Date: 2026-05-04 (Mon, 04 May 2026)
Changed paths:
M Source/JavaScriptCore/shell/playstation/TestShell.cpp
M Source/WebCore/platform/graphics/gstreamer/ImageGStreamerSkia.cpp
M
Source/WebCore/platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp
M Source/WebCore/platform/graphics/skia/ComplexTextControllerSkia.cpp
M Source/WebKit/Platform/IPC/ArgumentCoders.h
A Source/WebKit/Platform/IPC/glib/ArgumentCodersGUniquePtr.h
R Source/WebKit/Platform/IPC/glib/ArgumentCodersGlib.h
M Source/cmake/WebKitCommon.cmake
A Source/cmake/WebKitHeaderMap.cmake
M Source/cmake/WebKitMacros.cmake
A Tools/Scripts/generate-header-map
A Tools/Scripts/hmaptool
Log Message:
-----------
[CMake] Adopt "header maps" (.hmap files) to speed up -I resolution
https://bugs.webkit.org/show_bug.cgi?id=314000
rdar://176200808
Reviewed by Keith Miller.
Otherwise, clang needs to stat hundreds of directories at startup.
About a 26s / 3% clean build speedup.
┌───────────────┬──────────┬──────────┬──────────────────┐
│ build │ OFF │ ON │ Δ │
├───────────────┼──────────┼──────────┼──────────────────┤
│ cold │ 918.21 s │ 892.15 s │ −26.1 s (−2.8 %) │
├───────────────┼──────────┼──────────┼──────────────────┤
│ touch-jsc │ 4.57 s │ 4.49 s │ −0.08 s (−1.8 %) │
├───────────────┼──────────┼──────────┼──────────────────┤
│ touch-webcore │ 23.11 s │ 22.76 s │ −0.35 s (−1.5 %) │
├───────────────┼──────────┼──────────┼──────────────────┤
│ noop │ 0.39 s │ 0.36 s │ −0.03 s │
└───────────────┴──────────┴──────────┴──────────────────┘
* Source/cmake/WebKitCommon.cmake:
* Source/cmake/WebKitHeaderMap.cmake:
* Source/cmake/WebKitMacros.cmake: Tell CMake we're doing header maps.
* Tools/Scripts/generate-header-map: Added. This script packages up
a .json description of our -I paths for LLVM's hmap tool.
* Tools/Scripts/hmaptool: Added. This script writes out the binary
hash table .hmap file. The file format is publicly documented, has
multiple implementations, has backward-compatible versioning, and
hasn't changed since 2018. So it's probably OK to depend on.
* Source/JavaScriptCore/shell/playstation/TestShell.cpp: Fixed an
off-by-one-level #include.
* Source/WebCore/platform/graphics/gstreamer/ImageGStreamerSkia.cpp:
* Source/WebCore/platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
* Source/WebCore/platform/graphics/skia/ComplexTextControllerSkia.cpp:
* Source/WebKit/Platform/IPC/ArgumentCoders.h:
* Source/WebKit/Platform/IPC/glib/ArgumentCodersGUniquePtr.h: Renamed from
Source/WebKit/Platform/IPC/glib/ArgumentCodersGlib.h. Otherwise two
different headers have the same name with one letter of different case,
which was no fun to debug at all.
Canonical link: https://commits.webkit.org/312588@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications