Bug 173481 - Include a few widespread WTF headers in WebCorePrefix.h
Summary: Include a few widespread WTF headers in WebCorePrefix.h
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Tim Horton
URL:
Keywords: InRadar
Depends on: 173494
Blocks:
  Show dependency treegraph
 
Reported: 2017-06-16 11:14 PDT by Tim Horton
Modified: 2017-10-03 20:17 PDT (History)
9 users (show)

See Also:


Attachments
Patch (1.59 KB, patch)
2017-06-16 11:14 PDT, Tim Horton
no flags Details | Formatted Diff | Diff
Patch (1.77 KB, patch)
2017-10-03 12:56 PDT, Tim Horton
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Horton 2017-06-16 11:14:11 PDT
Include a few widespread WTF headers in WebCorePrefix.h
Comment 1 Tim Horton 2017-06-16 11:14:19 PDT
Created attachment 313094 [details]
Patch
Comment 2 Build Bot 2017-06-16 11:16:26 PDT
Attachment 313094 [details] did not pass style-queue:


ERROR: Source/WebCore/WebCorePrefix.h:167:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Tim Horton 2017-06-16 12:45:01 PDT
https://trac.webkit.org/changeset/218402/webkit
Comment 4 Tim Horton 2017-06-16 12:52:23 PDT
Build fix in https://trac.webkit.org/changeset/218404/webkit
Comment 5 WebKit Commit Bot 2017-06-16 13:44:49 PDT
Re-opened since this is blocked by bug 173494
Comment 6 Tim Horton 2017-06-17 01:22:14 PDT
Ooh! I can reproduce the build failure by building with dSYMs enabled:

./Tools/Scripts/build-webkit --release ARCHS=x86_64 DEBUG_INFORMATION_FORMAT=dwarf-with-dsym

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil /Build/Release/WebCore.framework/Versions/A/WebCore -o /Build/Release/WebCore.framework.dSYM
LLVM ERROR: IO failure on output stream.
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil failed with exit code 1
Comment 7 Tim Horton 2017-06-17 03:03:03 PDT
Adding WTFString or Optional by themselves seems to have the same effect
Comment 8 Tim Horton 2017-06-17 03:20:28 PDT
Ditto for StdLibExtras...
Comment 9 Simon Fraser (smfr) 2017-06-17 10:13:26 PDT
How big is the dSYM file before your changes?
Comment 10 Tim Horton 2017-06-17 11:06:52 PDT
1.4GB
Comment 11 Tim Horton 2017-06-17 17:12:38 PDT
It's not about size. I've reduced it down and can reproduce even by just adding:

namespace WTF {

}

to the same spot
Comment 12 Tim Horton 2017-06-20 00:14:32 PDT
I filed https://bugs.llvm.org/show_bug.cgi?id=33520
Comment 13 Tim Horton 2017-10-02 22:03:47 PDT
<rdar://problem/34784096>
Comment 14 Tim Horton 2017-10-03 12:56:44 PDT
Created attachment 322568 [details]
Patch
Comment 15 WebKit Commit Bot 2017-10-03 14:12:42 PDT
Comment on attachment 322568 [details]
Patch

Clearing flags on attachment: 322568

Committed r222810: <http://trac.webkit.org/changeset/222810>
Comment 16 WebKit Commit Bot 2017-10-03 14:12:43 PDT
All reviewed patches have been landed.  Closing bug.
Comment 17 Matt Lewis 2017-10-03 14:46:53 PDT
This broke the windows build:

https://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/builds/4908

error:

c:\cygwin\home\buildbot\slave\win-release\build\source\webcore\WebCorePrefix.h(171): fatal error C1083: Cannot open type library file: 'c:\cygwin\home\buildbot\slave\win-release\build\webkitbuild\release\derivedsources\forwardingheaders\wtf\fastmalloc.h': Error loading type library/DLL. [C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\Source\WebCore\WebCore.vcxproj]
Comment 18 Tim Horton 2017-10-03 20:16:21 PDT
On our build bots, this looks like a ~6-7% win, not 9%, but still a decent win. We should do something similar in WebKit and JSC, probably.
Comment 19 Tim Horton 2017-10-03 20:17:00 PDT
(In reply to Tim Horton from comment #18)
> On our build bots, this looks like a ~6-7% win, not 9%, but still a decent
> win. We should do something similar in WebKit and JSC, probably.

6-7% on WebCore alone, less if you measure the whole project :(