Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(538)

Issue 66613003: Static initializers tool for Windows (Closed)

Created:
7 years, 1 month ago by scottmg
Modified:
6 years, 10 months ago
Reviewers:
cpu_(ooo_6.6-7.5)
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Static initializers tool for Windows A tool to print out static initializers in the format below. These static initializers cause problems for some sneakier CRT initialization tricks we do, and they also were measured to have an appreciable slowdown on startup time (at least on CrOS) so generally trending towards 0 is desirable. The basic approach is looking for symbols that have the magic VS name `dynamic initializer for ' which is the demangled name that's used for global C++ initializers. The binary is processed by using the DIA SDK (some of the code is from the Dia2Dump sample), which means that the target binary requires being built with symbols for this tool to work. The intention is that a run of this tool will be hooked into the 'sizes' step on clobber builders on the waterfall, similar to Linux and Mac. === Static initializers in a.exe: d:\src\cr2\src\tools\win\static-initializers\a.obj: `dynamic initializer for 'std::_Error_objects<int>::_Generic_object'' d:\src\cr2\src\tools\win\static-initializers\a.obj: `dynamic initializer for 'std::_Error_objects<int>::_Iostream_object'' d:\src\cr2\src\tools\win\static-initializers\a.obj: `dynamic initializer for 'std::_Error_objects<int>::_System_object'' d:\src\cr2\src\tools\win\static-initializers\a.obj: `dynamic initializer for 'std::num_put<char,std::back_insert_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::id'' ... === See https://code.google.com/p/chromium/issues/detail?id=341941#c7 for logs of those found in Chromium. R=cpu@chromium.org BUG=341941 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=251144

Patch Set 1 : \ #

Patch Set 2 : include_dirs #

Patch Set 3 : reitveld #

Patch Set 4 : reitveld #

Total comments: 18

Patch Set 5 : fixes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+201 lines, -21 lines) Patch
M build/all.gyp View 1 1 chunk +1 line, -0 lines 0 comments Download
A tools/win/static_initializers/static_initializers.cc View 1 2 3 4 1 chunk +178 lines, -0 lines 0 comments Download
A + tools/win/static_initializers/static_initializers.gyp View 1 1 chunk +22 lines, -21 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
scottmg
Would you mind looking at this?
6 years, 10 months ago (2014-02-13 01:22:40 UTC) #1
cpu_(ooo_6.6-7.5)
lgtm https://codereview.chromium.org/66613003/diff/260001/tools/win/static_initializers/static_initializers.cc File tools/win/static_initializers/static_initializers.cc (right): https://codereview.chromium.org/66613003/diff/260001/tools/win/static_initializers/static_initializers.cc#newcode5 tools/win/static_initializers/static_initializers.cc:5: #pragma warning(disable : 4100) pls add a comment ...
6 years, 10 months ago (2014-02-13 03:32:41 UTC) #2
scottmg
Thanks! https://codereview.chromium.org/66613003/diff/260001/tools/win/static_initializers/static_initializers.cc File tools/win/static_initializers/static_initializers.cc (right): https://codereview.chromium.org/66613003/diff/260001/tools/win/static_initializers/static_initializers.cc#newcode5 tools/win/static_initializers/static_initializers.cc:5: #pragma warning(disable : 4100) On 2014/02/13 03:32:42, cpu ...
6 years, 10 months ago (2014-02-13 18:13:33 UTC) #3
scottmg
The CQ bit was checked by scottmg@chromium.org
6 years, 10 months ago (2014-02-13 18:39:04 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/scottmg@chromium.org/66613003/360001
6 years, 10 months ago (2014-02-13 18:40:37 UTC) #5
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-13 19:05:54 UTC) #6
commit-bot: I haz the power
Retried try job too often on chromium_presubmit for step(s) presubmit http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=chromium_presubmit&number=50119
6 years, 10 months ago (2014-02-13 19:05:55 UTC) #7
scottmg
6 years, 10 months ago (2014-02-13 22:07:46 UTC) #8
Message was sent while issue was closed.
Committed patchset #5 manually as r251144 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698