Changeset 243396 in webkit
- Timestamp:
- Mar 22, 2019, 11:56:41 AM (7 years ago)
- Location:
- trunk/Source
- Files:
-
- 20 edited
-
JavaScriptCore/ChangeLog (modified) (1 diff)
-
JavaScriptCore/Configurations/Base.xcconfig (modified) (1 diff)
-
ThirdParty/ANGLE/ChangeLog (modified) (1 diff)
-
ThirdParty/ANGLE/Configurations/Base.xcconfig (modified) (2 diffs)
-
ThirdParty/libwebrtc/ChangeLog (modified) (1 diff)
-
ThirdParty/libwebrtc/Configurations/Base.xcconfig (modified) (2 diffs)
-
WTF/ChangeLog (modified) (1 diff)
-
WTF/Configurations/Base.xcconfig (modified) (2 diffs)
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/Configurations/Base.xcconfig (modified) (2 diffs)
-
WebCore/PAL/ChangeLog (modified) (1 diff)
-
WebCore/PAL/Configurations/Base.xcconfig (modified) (2 diffs)
-
WebInspectorUI/ChangeLog (modified) (1 diff)
-
WebInspectorUI/Configurations/Base.xcconfig (modified) (2 diffs)
-
WebKit/ChangeLog (modified) (1 diff)
-
WebKit/Configurations/Base.xcconfig (modified) (3 diffs)
-
WebKitLegacy/mac/ChangeLog (modified) (1 diff)
-
WebKitLegacy/mac/Configurations/Base.xcconfig (modified) (3 diffs)
-
bmalloc/ChangeLog (modified) (1 diff)
-
bmalloc/Configurations/Base.xcconfig (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r243391 r243396 1 2019-03-22 Keith Rollin <krollin@apple.com> 2 3 Enable ThinLTO support in Production builds 4 https://bugs.webkit.org/show_bug.cgi?id=190758 5 <rdar://problem/45413233> 6 7 Reviewed by Daniel Bates. 8 9 Tweak JavaScriptCore's Base.xcconfig to be more in-line with other 10 .xcconfig files with regards to LTO settings. However, don't actually 11 enable LTO for JavaScriptCore. LTO is not enabled for JavaScriptCore 12 due to <rdar://problem/24543547>. 13 14 * Configurations/Base.xcconfig: 15 1 16 2019-03-22 Mark Lam <mark.lam@apple.com> 2 17 -
trunk/Source/JavaScriptCore/Configurations/Base.xcconfig
r242918 r243396 180 180 WK_IS_COCOA_TOUCH = $(WK_NOT_$(WK_EMPTY_$(WK_COCOA_TOUCH))); 181 181 182 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 182 // Disable on all platforms other than macOS, due to <rdar://problem/49013399>. 183 LLVM_LTO = NO; 184 // Disable LTO for JavaScriptCore, due to <rdar://problem/24543547>. Add back the following line when that issue is resolved. 185 // LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 183 186 WK_LLVM_LTO_NO = NO; 184 187 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE); 185 188 186 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR))); 187 WK_XCODE_VERSION_BEFORE_9_0800 = YES; 188 WK_XCODE_VERSION_BEFORE_9_0700 = YES; 189 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR))); 190 WK_XCODE_VERSION_BEFORE_10_2_0700 = YES; 191 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES; 192 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES; 193 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR)); 194 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES; 195 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES; 189 196 190 197 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE)); 191 WK_USER_LTO_MODE_full = NO; // Disable LTO for JavaScript due to <rdar://problem/24543547>192 WK_USER_LTO_MODE_thin = NO; // Disable LTO for JavaScript due to <rdar://problem/24543547>198 WK_USER_LTO_MODE_full = YES; 199 WK_USER_LTO_MODE_thin = YES_THIN; 193 200 WK_USER_LTO_MODE_none = NO; 194 201 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE); 195 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_ none);202 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin); -
trunk/Source/ThirdParty/ANGLE/ChangeLog
r241990 r243396 1 2019-03-22 Keith Rollin <krollin@apple.com> 2 3 Enable ThinLTO support in Production builds 4 https://bugs.webkit.org/show_bug.cgi?id=190758 5 <rdar://problem/45413233> 6 7 Reviewed by Daniel Bates. 8 9 Enable building with Thin LTO in Production when using Xcode 10.2 or 10 later. This change results in a 1.45% progression in PLT5. Full 11 Production build times increase about 2-3%. Incremental build times 12 are more severely affected, and so LTO is not enabled for local 13 engineering builds. 14 15 LTO is enabled only on macOS for now, until rdar://problem/49013399, 16 which affects ARM builds, is fixed. 17 18 To change the LTO setting when building locally: 19 20 - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the 21 command line. 22 - If building with `build-webkit`, specify --lto-mode={none,thin,full} 23 on the command line. 24 - If building with `build-root`, specify --lto={none,thin,full} on the 25 command line. 26 - If building with Xcode, create a LocalOverrides.xcconfig file at the 27 top level of your repository directory (if needed) and define 28 WK_LTO_MODE to full, thin, or none. 29 30 * Configurations/Base.xcconfig: 31 1 32 2019-02-23 Keith Miller <keith_miller@apple.com> 2 33 -
trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig
r241990 r243396 82 82 ANGLE_INSTALL_PATH_PREFIX_DEPLOYMENT_YES_USE_ALTERNATE_YES = $(WK_ALTERNATE_FRAMEWORKS_DIR)/; 83 83 84 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 84 // Disable on all platforms other than macOS, due to <rdar://problem/49013399>. 85 LLVM_LTO = NO; 86 LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 85 87 WK_LLVM_LTO_NO = NO; 86 88 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE); 87 89 88 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR))); 89 WK_XCODE_VERSION_BEFORE_9_0800 = YES; 90 WK_XCODE_VERSION_BEFORE_9_0700 = YES; 90 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR))); 91 WK_XCODE_VERSION_BEFORE_10_2_0700 = YES; 92 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES; 93 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES; 94 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR)); 95 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES; 96 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES; 91 97 92 98 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE)); … … 95 101 WK_USER_LTO_MODE_none = NO; 96 102 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE); 97 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_ none);103 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin); -
trunk/Source/ThirdParty/libwebrtc/ChangeLog
r242918 r243396 1 2019-03-22 Keith Rollin <krollin@apple.com> 2 3 Enable ThinLTO support in Production builds 4 https://bugs.webkit.org/show_bug.cgi?id=190758 5 <rdar://problem/45413233> 6 7 Reviewed by Daniel Bates. 8 9 Enable building with Thin LTO in Production when using Xcode 10.2 or 10 later. This change results in a 1.45% progression in PLT5. Full 11 Production build times increase about 2-3%. Incremental build times 12 are more severely affected, and so LTO is not enabled for local 13 engineering builds. 14 15 LTO is enabled only on macOS for now, until rdar://problem/49013399, 16 which affects ARM builds, is fixed. 17 18 To change the LTO setting when building locally: 19 20 - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the 21 command line. 22 - If building with `build-webkit`, specify --lto-mode={none,thin,full} 23 on the command line. 24 - If building with `build-root`, specify --lto={none,thin,full} on the 25 command line. 26 - If building with Xcode, create a LocalOverrides.xcconfig file at the 27 top level of your repository directory (if needed) and define 28 WK_LTO_MODE to full, thin, or none. 29 30 * Configurations/Base.xcconfig: 31 1 32 2019-03-13 Keith Rollin <krollin@apple.com> 2 33 -
trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig
r242918 r243396 112 112 WK_INSTALL_PATH_PREFIX_DEPLOYMENT_YES_MACOS_SINCE_1015_USE_STAGING_INSTALL_PATH_YES = $(PLATFORM_OOB_SYSTEM_CONTENT_DIR); 113 113 114 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 114 // Disable on all platforms other than macOS, due to <rdar://problem/49013399>. 115 LLVM_LTO = NO; 116 LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 115 117 WK_LLVM_LTO_NO = NO; 116 118 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE); 117 119 118 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR))); 119 WK_XCODE_VERSION_BEFORE_9_0800 = YES; 120 WK_XCODE_VERSION_BEFORE_9_0700 = YES; 120 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR))); 121 WK_XCODE_VERSION_BEFORE_10_2_0700 = YES; 122 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES; 123 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES; 124 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR)); 125 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES; 126 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES; 121 127 122 128 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE)); … … 125 131 WK_USER_LTO_MODE_none = NO; 126 132 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE); 127 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_ none);133 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin); -
trunk/Source/WTF/ChangeLog
r243382 r243396 1 2019-03-22 Keith Rollin <krollin@apple.com> 2 3 Enable ThinLTO support in Production builds 4 https://bugs.webkit.org/show_bug.cgi?id=190758 5 <rdar://problem/45413233> 6 7 Reviewed by Daniel Bates. 8 9 Enable building with Thin LTO in Production when using Xcode 10.2 or 10 later. This change results in a 1.45% progression in PLT5. Full 11 Production build times increase about 2-3%. Incremental build times 12 are more severely affected, and so LTO is not enabled for local 13 engineering builds. 14 15 LTO is enabled only on macOS for now, until rdar://problem/49013399, 16 which affects ARM builds, is fixed. 17 18 To change the LTO setting when building locally: 19 20 - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the 21 command line. 22 - If building with `build-webkit`, specify --lto-mode={none,thin,full} 23 on the command line. 24 - If building with `build-root`, specify --lto={none,thin,full} on the 25 command line. 26 - If building with Xcode, create a LocalOverrides.xcconfig file at the 27 top level of your repository directory (if needed) and define 28 WK_LTO_MODE to full, thin, or none. 29 30 * Configurations/Base.xcconfig: 31 1 32 2019-03-22 Tim Horton <timothy_horton@apple.com> 2 33 -
trunk/Source/WTF/Configurations/Base.xcconfig
r242918 r243396 136 136 OTHER_LDFLAGS = $(ASAN_OTHER_LDFLAGS); 137 137 138 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 138 // Disable on all platforms other than macOS, due to <rdar://problem/49013399>. 139 LLVM_LTO = NO; 140 LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 139 141 WK_LLVM_LTO_NO = NO; 140 142 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE); 141 143 142 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR))); 143 WK_XCODE_VERSION_BEFORE_9_0800 = YES; 144 WK_XCODE_VERSION_BEFORE_9_0700 = YES; 144 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR))); 145 WK_XCODE_VERSION_BEFORE_10_2_0700 = YES; 146 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES; 147 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES; 148 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR)); 149 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES; 150 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES; 145 151 146 152 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE)); … … 149 155 WK_USER_LTO_MODE_none = NO; 150 156 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE); 151 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_ none);157 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin); 152 158 153 159 WTF_INSTALL_PATH_PREFIX = $(WTF_INSTALL_PATH_PREFIX_DEPLOYMENT_$(DEPLOYMENT_LOCATION)); -
trunk/Source/WebCore/ChangeLog
r243383 r243396 1 2019-03-22 Keith Rollin <krollin@apple.com> 2 3 Enable ThinLTO support in Production builds 4 https://bugs.webkit.org/show_bug.cgi?id=190758 5 <rdar://problem/45413233> 6 7 Reviewed by Daniel Bates. 8 9 Enable building with Thin LTO in Production when using Xcode 10.2 or 10 later. This change results in a 1.45% progression in PLT5. Full 11 Production build times increase about 2-3%. Incremental build times 12 are more severely affected, and so LTO is not enabled for local 13 engineering builds. 14 15 LTO is enabled only on macOS for now, until rdar://problem/49013399, 16 which affects ARM builds, is fixed. 17 18 Removed the conditionals that disabled LTO on 32-bit systems since we 19 no longer build for those. 20 21 To change the LTO setting when building locally: 22 23 - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the 24 command line. 25 - If building with `build-webkit`, specify --lto-mode={none,thin,full} 26 on the command line. 27 - If building with `build-root`, specify --lto={none,thin,full} on the 28 command line. 29 - If building with Xcode, create a LocalOverrides.xcconfig file at the 30 top level of your repository directory (if needed) and define 31 WK_LTO_MODE to full, thin, or none. 32 33 No new tests since there should be no observable behavior difference. 34 35 * Configurations/Base.xcconfig: 36 1 37 2019-03-22 Ryan Haddad <ryanhaddad@apple.com> 2 38 -
trunk/Source/WebCore/Configurations/Base.xcconfig
r241990 r243396 1 // Copyright (C) 2009-201 7Apple Inc. All rights reserved.1 // Copyright (C) 2009-2019 Apple Inc. All rights reserved. 2 2 // 3 3 // Redistribution and use in source and binary forms, with or without … … 145 145 WK_WEBCORE_DERIVEDSOURCES_OUTPUT_XCFILELIST_ADDITIONS = $(WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH)/WebCore/DerivedSources-output.xcfilelist 146 146 147 // Attempting to build WebCore with full LTO for i386 results in the following 148 // linker error, so we drop down to "thin" for that architecture if we were to 149 // otherwise attempt to use "full". 150 // 151 // LLVM ERROR: Section too large, can't encode r_address (0x1000216) into 24 bits of scattered relocation entry. 152 // clang: error: linker command failed with exit code 1 (use -v to see invocation) 153 154 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 147 // Disable on all platforms other than macOS, due to <rdar://problem/49013399>. 148 LLVM_LTO = NO; 149 LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 155 150 WK_LLVM_LTO_NO = NO; 156 151 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE); 157 152 158 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR))); 159 WK_XCODE_VERSION_BEFORE_9_0800 = YES; 160 WK_XCODE_VERSION_BEFORE_9_0700 = YES; 153 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR))); 154 WK_XCODE_VERSION_BEFORE_10_2_0700 = YES; 155 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES; 156 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES; 157 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR)); 158 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES; 159 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES; 161 160 162 161 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE)); 163 162 WK_USER_LTO_MODE_full = YES; 164 WK_USER_LTO_MODE_full[arch=i386] = $(WK_USER_LTO_MODE_thin);165 163 WK_USER_LTO_MODE_thin = YES_THIN; 166 164 WK_USER_LTO_MODE_none = NO; 167 165 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE); 168 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_ none);166 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin); -
trunk/Source/WebCore/PAL/ChangeLog
r243376 r243396 1 2019-03-22 Keith Rollin <krollin@apple.com> 2 3 Enable ThinLTO support in Production builds 4 https://bugs.webkit.org/show_bug.cgi?id=190758 5 <rdar://problem/45413233> 6 7 Reviewed by Daniel Bates. 8 9 Enable building with Thin LTO in Production when using Xcode 10.2 or 10 later. This change results in a 1.45% progression in PLT5. Full 11 Production build times increase about 2-3%. Incremental build times 12 are more severely affected, and so LTO is not enabled for local 13 engineering builds. 14 15 LTO is enabled only on macOS for now, until rdar://problem/49013399, 16 which affects ARM builds, is fixed. 17 18 Removed the conditionals that disabled LTO on 32-bit systems since we 19 no longer build for those. 20 21 To change the LTO setting when building locally: 22 23 - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the 24 command line. 25 - If building with `build-webkit`, specify --lto-mode={none,thin,full} 26 on the command line. 27 - If building with `build-root`, specify --lto={none,thin,full} on the 28 command line. 29 - If building with Xcode, create a LocalOverrides.xcconfig file at the 30 top level of your repository directory (if needed) and define 31 WK_LTO_MODE to full, thin, or none. 32 33 * Configurations/Base.xcconfig: 34 1 35 2019-03-22 Timothy Hatcher <timothy@apple.com> 2 36 -
trunk/Source/WebCore/PAL/Configurations/Base.xcconfig
r241990 r243396 1 // Copyright (C) 2017 Apple Inc. All rights reserved.1 // Copyright (C) 2017-2019 Apple Inc. All rights reserved. 2 2 // 3 3 // Redistribution and use in source and binary forms, with or without … … 137 137 WK_IS_COCOA_TOUCH = $(WK_NOT_$(WK_EMPTY_$(WK_COCOA_TOUCH))); 138 138 139 // Attempting to build WebCore with full LTO for i386 results in the following 140 // linker error, so we drop down to "thin" for that architecture if we were to 141 // otherwise attempt to use "full". 142 // 143 // LLVM ERROR: Section too large, can't encode r_address (0x1000216) into 24 bits of scattered relocation entry. 144 // clang: error: linker command failed with exit code 1 (use -v to see invocation) 145 146 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 139 // Disable on all platforms other than macOS, due to <rdar://problem/49013399>. 140 LLVM_LTO = NO; 141 LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 147 142 WK_LLVM_LTO_NO = NO; 148 143 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE); 149 144 150 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR))); 151 WK_XCODE_VERSION_BEFORE_9_0800 = YES; 152 WK_XCODE_VERSION_BEFORE_9_0700 = YES; 145 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR))); 146 WK_XCODE_VERSION_BEFORE_10_2_0700 = YES; 147 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES; 148 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES; 149 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR)); 150 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES; 151 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES; 153 152 154 153 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE)); 155 WK_USER_LTO_MODE_full[arch=i386] = $(WK_USER_LTO_MODE_thin);156 154 WK_USER_LTO_MODE_full = YES; 157 155 WK_USER_LTO_MODE_thin = YES_THIN; 158 156 WK_USER_LTO_MODE_none = NO; 159 157 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE); 160 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_ none);158 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin); -
trunk/Source/WebInspectorUI/ChangeLog
r243355 r243396 1 2019-03-22 Keith Rollin <krollin@apple.com> 2 3 Enable ThinLTO support in Production builds 4 https://bugs.webkit.org/show_bug.cgi?id=190758 5 <rdar://problem/45413233> 6 7 Reviewed by Daniel Bates. 8 9 Enable building with Thin LTO in Production when using Xcode 10.2 or 10 later. This change results in a 1.45% progression in PLT5. Full 11 Production build times increase about 2-3%. Incremental build times 12 are more severely affected, and so LTO is not enabled for local 13 engineering builds. 14 15 LTO is enabled only on macOS for now, until rdar://problem/49013399, 16 which affects ARM builds, is fixed. 17 18 To change the LTO setting when building locally: 19 20 - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the 21 command line. 22 - If building with `build-webkit`, specify --lto-mode={none,thin,full} 23 on the command line. 24 - If building with `build-root`, specify --lto={none,thin,full} on the 25 command line. 26 - If building with Xcode, create a LocalOverrides.xcconfig file at the 27 top level of your repository directory (if needed) and define 28 WK_LTO_MODE to full, thin, or none. 29 30 * Configurations/Base.xcconfig: 31 1 32 2019-03-21 Joseph Pecoraro <pecoraro@apple.com> 2 33 -
trunk/Source/WebInspectorUI/Configurations/Base.xcconfig
r242918 r243396 109 109 WK_IS_COCOA_TOUCH = $(WK_NOT_$(WK_EMPTY_$(WK_COCOA_TOUCH))); 110 110 111 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 111 // Disable on all platforms other than macOS, due to <rdar://problem/49013399>. 112 LLVM_LTO = NO; 113 LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 112 114 WK_LLVM_LTO_NO = NO; 113 115 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE); 114 116 115 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR))); 116 WK_XCODE_VERSION_BEFORE_9_0800 = YES; 117 WK_XCODE_VERSION_BEFORE_9_0700 = YES; 117 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR))); 118 WK_XCODE_VERSION_BEFORE_10_2_0700 = YES; 119 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES; 120 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES; 121 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR)); 122 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES; 123 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES; 118 124 119 125 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE)); … … 122 128 WK_USER_LTO_MODE_none = NO; 123 129 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE); 124 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_ none);130 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin); -
trunk/Source/WebKit/ChangeLog
r243395 r243396 1 2019-03-22 Keith Rollin <krollin@apple.com> 2 3 Enable ThinLTO support in Production builds 4 https://bugs.webkit.org/show_bug.cgi?id=190758 5 <rdar://problem/45413233> 6 7 Reviewed by Daniel Bates. 8 9 Enable building with Thin LTO in Production when using Xcode 10.2 or 10 later. This change results in a 1.45% progression in PLT5. Full 11 Production build times increase about 2-3%. Incremental build times 12 are more severely affected, and so LTO is not enabled for local 13 engineering builds. 14 15 LTO is enabled only on macOS for now, until rdar://problem/49013399, 16 which affects ARM builds, is fixed. 17 18 To change the LTO setting when building locally: 19 20 - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the 21 command line. 22 - If building with `build-webkit`, specify --lto-mode={none,thin,full} 23 on the command line. 24 - If building with `build-root`, specify --lto={none,thin,full} on the 25 command line. 26 - If building with Xcode, create a LocalOverrides.xcconfig file at the 27 top level of your repository directory (if needed) and define 28 WK_LTO_MODE to full, thin, or none. 29 30 * Configurations/Base.xcconfig: 31 1 32 2019-03-22 Chris Dumez <cdumez@apple.com> 2 33 -
trunk/Source/WebKit/Configurations/Base.xcconfig
r241990 r243396 1 // Copyright (C) 2010-201 7Apple Inc. All rights reserved.1 // Copyright (C) 2010-2019 Apple Inc. All rights reserved. 2 2 // 3 3 // Redistribution and use in source and binary forms, with or without … … 159 159 WK_WEBKIT_DERIVEDSOURCES_OUTPUT_XCFILELIST_ADDITIONS = $(WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH)/WebKit/DerivedSources-output.xcfilelist 160 160 161 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 161 // Disable on all platforms other than macOS, due to <rdar://problem/49013399>. 162 LLVM_LTO = NO; 163 LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 162 164 WK_LLVM_LTO_NO = NO; 163 165 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE); 164 166 165 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR))); 166 WK_XCODE_VERSION_BEFORE_9_0800 = YES; 167 WK_XCODE_VERSION_BEFORE_9_0700 = YES; 167 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR))); 168 WK_XCODE_VERSION_BEFORE_10_2_0700 = YES; 169 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES; 170 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES; 171 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR)); 172 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES; 173 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES; 168 174 169 175 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE)); … … 172 178 WK_USER_LTO_MODE_none = NO; 173 179 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE); 174 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_ none);180 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin); -
trunk/Source/WebKitLegacy/mac/ChangeLog
r243324 r243396 1 2019-03-22 Keith Rollin <krollin@apple.com> 2 3 Enable ThinLTO support in Production builds 4 https://bugs.webkit.org/show_bug.cgi?id=190758 5 <rdar://problem/45413233> 6 7 Reviewed by Daniel Bates. 8 9 Enable building with Thin LTO in Production when using Xcode 10.2 or 10 later. This change results in a 1.45% progression in PLT5. Full 11 Production build times increase about 2-3%. Incremental build times 12 are more severely affected, and so LTO is not enabled for local 13 engineering builds. 14 15 LTO is enabled only on macOS for now, until rdar://problem/49013399, 16 which affects ARM builds, is fixed. 17 18 To change the LTO setting when building locally: 19 20 - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the 21 command line. 22 - If building with `build-webkit`, specify --lto-mode={none,thin,full} 23 on the command line. 24 - If building with `build-root`, specify --lto={none,thin,full} on the 25 command line. 26 - If building with Xcode, create a LocalOverrides.xcconfig file at the 27 top level of your repository directory (if needed) and define 28 WK_LTO_MODE to full, thin, or none. 29 30 * Configurations/Base.xcconfig: 31 1 32 2019-03-21 Andy Estes <aestes@apple.com> 2 33 -
trunk/Source/WebKitLegacy/mac/Configurations/Base.xcconfig
r241990 r243396 1 // Copyright (C) 2009-201 7Apple Inc. All rights reserved.1 // Copyright (C) 2009-2019 Apple Inc. All rights reserved. 2 2 // 3 3 // Redistribution and use in source and binary forms, with or without … … 137 137 WK_IS_COCOA_TOUCH = $(WK_NOT_$(WK_EMPTY_$(WK_COCOA_TOUCH))); 138 138 139 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 139 // Disable on all platforms other than macOS, due to <rdar://problem/49013399>. 140 LLVM_LTO = NO; 141 LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 140 142 WK_LLVM_LTO_NO = NO; 141 143 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE); 142 144 143 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR))); 144 WK_XCODE_VERSION_BEFORE_9_0800 = YES; 145 WK_XCODE_VERSION_BEFORE_9_0700 = YES; 145 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR))); 146 WK_XCODE_VERSION_BEFORE_10_2_0700 = YES; 147 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES; 148 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES; 149 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR)); 150 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES; 151 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES; 146 152 147 153 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE)); … … 150 156 WK_USER_LTO_MODE_none = NO; 151 157 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE); 152 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_ none);158 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin); -
trunk/Source/bmalloc/ChangeLog
r243389 r243396 1 2019-03-22 Keith Rollin <krollin@apple.com> 2 3 Enable ThinLTO support in Production builds 4 https://bugs.webkit.org/show_bug.cgi?id=190758 5 <rdar://problem/45413233> 6 7 Reviewed by Daniel Bates. 8 9 Enable building with Thin LTO in Production when using Xcode 10.2 or 10 later. This change results in a 1.45% progression in PLT5. Full 11 Production build times increase about 2-3%. Incremental build times 12 are more severely affected, and so LTO is not enabled for local 13 engineering builds. 14 15 LTO is enabled only on macOS for now, until rdar://problem/49013399, 16 which affects ARM builds, is fixed. 17 18 To change the LTO setting when building locally: 19 20 - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the 21 command line. 22 - If building with `build-webkit`, specify --lto-mode={none,thin,full} 23 on the command line. 24 - If building with `build-root`, specify --lto={none,thin,full} on the 25 command line. 26 - If building with Xcode, create a LocalOverrides.xcconfig file at the 27 top level of your repository directory (if needed) and define 28 WK_LTO_MODE to full, thin, or none. 29 30 * Configurations/Base.xcconfig: 31 1 32 2019-03-21 Michael Saboff <msaboff@apple.com> 2 33 -
trunk/Source/bmalloc/Configurations/Base.xcconfig
r241990 r243396 1 // Copyright (C) 2009-201 7Apple Inc. All rights reserved.1 // Copyright (C) 2009-2019 Apple Inc. All rights reserved. 2 2 // 3 3 // Redistribution and use in source and binary forms, with or without … … 134 134 BMALLOC_INSTALL_PATH_PREFIX_DEPLOYMENT_YES_USE_ALTERNATE_YES = $(WK_ALTERNATE_FRAMEWORKS_DIR)/; 135 135 136 LLVM_LTO = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 136 // Disable on all platforms other than macOS, due to <rdar://problem/49013399>. 137 LLVM_LTO = NO; 138 LLVM_LTO[sdk=macosx*] = $(WK_LLVM_LTO_$(WK_XCODE_SUPPORTS_LTO)); 137 139 WK_LLVM_LTO_NO = NO; 138 140 WK_LLVM_LTO_YES = $(WK_USER_LTO_MODE); 139 141 140 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_9_$(XCODE_VERSION_MAJOR))); 141 WK_XCODE_VERSION_BEFORE_9_0800 = YES; 142 WK_XCODE_VERSION_BEFORE_9_0700 = YES; 142 WK_XCODE_SUPPORTS_LTO = $(WK_NOT_$(WK_XCODE_VERSION_BEFORE_10_2_$(XCODE_VERSION_MAJOR))); 143 WK_XCODE_VERSION_BEFORE_10_2_0700 = YES; 144 WK_XCODE_VERSION_BEFORE_10_2_0800 = YES; 145 WK_XCODE_VERSION_BEFORE_10_2_0900 = YES; 146 WK_XCODE_VERSION_BEFORE_10_2_1000 = $(WK_XCODE_VERSION_BEFORE_10_2_1000_$(XCODE_VERSION_MINOR)); 147 WK_XCODE_VERSION_BEFORE_10_2_1000_1000 = YES; 148 WK_XCODE_VERSION_BEFORE_10_2_1000_1010 = YES; 143 149 144 150 WK_USER_LTO_MODE = $(WK_USER_LTO_MODE_$(WK_LTO_MODE)); … … 147 153 WK_USER_LTO_MODE_none = NO; 148 154 WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE); 149 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_ none);155 WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin);
Note:
See TracChangeset
for help on using the changeset viewer.