diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-20 15:06:40 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-22 11:48:58 +0000 |
commit | daa093eea7c773db06799a13bd7e4e2e2a9f8f14 (patch) | |
tree | 96cc5e7b9194c1b29eab927730bfa419e7111c25 /chromium/docs/static_initializers.md | |
parent | be59a35641616a4cf23c4a13fa0632624b021c1b (diff) | |
download | qtwebengine-chromium-daa093eea7c773db06799a13bd7e4e2e2a9f8f14.tar.gz |
BASELINE: Update Chromium to 63.0.3239.58
Change-Id: Ia93b322a00ba4dd4004f3bcf1254063ba90e1605
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/docs/static_initializers.md')
-rw-r--r-- | chromium/docs/static_initializers.md | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/chromium/docs/static_initializers.md b/chromium/docs/static_initializers.md new file mode 100644 index 00000000000..7fcd3297c13 --- /dev/null +++ b/chromium/docs/static_initializers.md @@ -0,0 +1,35 @@ +# Static Initializers + +[TOC] + +Some background on the original decision to ban static initializers: + +http://neugierig.org/software/chromium/notes/2011/08/static-initializers.html + +# How Static Initializers are Checked + +* For Linux and Mac: + * The expected count is stored in [//tools/perf_expectations/perf_expectations.json](https://cs.chromium.org/chromium/src/tools/perf_expectations/perf_expectations.json) +* For Android: + * The expected count is stored in the build target [//chrome/android:monochrome_static_initializers](https://cs.chromium.org/chromium/src/chrome/android/BUILD.gn) + +## Removing Static Initializers + +Common fixes include: + +* Add constexpr, +* Use LazyInstance<>, +* Move global variable to be a static variable within a function that returns it. + +## Listing Static Initializers + +For Linux: + + tools/linux/dump-static-initializers.py out/Release/chrome + +For Android: + + build/android/resource_sizes.py --chromium-output-directory out/Release --dump-static-initializers out/Release/apks/MonochromePublic.apk + tools/binary_size/diagnose_bloat.py HEAD + +For more information about `diagnose_bloat.py`, refer to its [README.md](../tools/binary_size/README.md) |