[webkit-changes] [WebKit/WebKit] 99e4e9: [Xcode] Fix size increase due to multiple PGO prof...

Elliott Williams noreply at github.com
Thu Mar 16 17:07:00 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 99e4e950c68dd8b4fb780155b63caa3e0d70b41c
      https://github.com/WebKit/WebKit/commit/99e4e950c68dd8b4fb780155b63caa3e0d70b41c
  Author: Elliott Williams <emw at apple.com>
  Date:   2023-03-16 (Thu, 16 Mar 2023)

  Changed paths:
    M Configurations/WebKitProjectPaths.xcconfig
    M Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/Scripts/copy-profiling-data.sh
    M Source/WebCore/Configurations/WebCore.xcconfig
    M Source/WebCore/Configurations/WebCoreTestSupport.xcconfig
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebKit/Configurations/BaseTarget.xcconfig
    M Source/WebKit/Configurations/MediaFormatReader.xcconfig
    M Source/WebKit/Configurations/WebContentService.xcconfig
    M Source/WebKit/Configurations/WebKitSwift.xcconfig
    M Source/WebKit/Configurations/adattributiond.xcconfig
    M Source/WebKit/Configurations/webpushd.xcconfig
    M Source/WebKit/Configurations/webpushtool.xcconfig
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig

  Log Message:
  -----------
  [Xcode] Fix size increase due to multiple PGO profile support
https://bugs.webkit.org/show_bug.cgi?id=253870
rdar://106673505

Reviewed by Alexey Proskuryakov.

The target triple selection logic in copy-profiling-data is moving to
WebKitAdditions. Change the script on the open-source side to simply
extract the profile that WebKitAdditions has built with.

Rather than revert to the old configuration logic where we built our own
OTHER_CFLAGS of PGO switches, use the settings that have been built-in to
Xcode for years. AFAIK, we didn't know about these settings during the
initial PGO work. As a result of this change, PGO profdata are correctly
tracked as dependencies of the compile tasks that use them. We also save
a bit of xcconfig logic.

Additionally, adjust some use of GCC_PREPROCESSOR_DEFINITIONS in a
drive-by cleanup. Feature-list variables like
ENABLE_LLVM_PROFILE_GENERATION or ENABLE_PDFJS, which expand to their
own name, can be used as -D flags like

    GCC_PREPROCESSOR_DEFINITIONS = $(ENABLE_PDFJS)

instead of the more superfluous

    GCC_PREPROCESSOR_DEFINITIONS = GCC_PREPROCESSOR_DEFINITIONS_$(ENABLE_PDFJS)
    GCC_PREPROCESSOR_DEFINITIONS_ENABLE_PDFJS = ENABLE_PDFJS=1

* Configurations/WebKitProjectPaths.xcconfig:
* Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/Scripts/copy-profiling-data.sh:
* Source/WebCore/Configurations/WebCore.xcconfig:
* Source/WebCore/Configurations/WebCoreTestSupport.xcconfig:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebKit/Configurations/BaseTarget.xcconfig:
* Source/WebKit/Configurations/MediaFormatReader.xcconfig:
* Source/WebKit/Configurations/WebContentService.xcconfig:
* Source/WebKit/Configurations/WebKitSwift.xcconfig:
* Source/WebKit/Configurations/adattributiond.xcconfig:
* Source/WebKit/Configurations/webpushd.xcconfig:
* Source/WebKit/Configurations/webpushtool.xcconfig:
* Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:

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




More information about the webkit-changes mailing list