Age | Commit message (Collapse) | Author |
|
This performs a merge on upstream zucchini.
Change-Id: I8a4844407558d6f1e439939ee634fe17ed7a4e55
|
|
push_back with vector tends to cause higher memory peak than necessary.
Changing deque is a simple change that reduces memory peak at the cost
of loss of guarantee (contiguous storage).
This has no significant impact on cpu time. On MacBook pro 2017
Before:
Zucchini.TotalTime 9.95879 s
Zucchini.TotalTime 9.11599 s
Zucchini.TotalTime 9.33174 s
After:
Zucchini.TotalTime 10.5557 s
Zucchini.TotalTime 8.78599 s
Zucchini.TotalTime 8.95282 s
Bug: 1262150
Change-Id: I078a671832f2a33d5e1a3d9d971bff66d4179b89
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3247092
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/main@{#936371}
NOKEYCHECK=True
GitOrigin-RevId: 7abe67cf21e8f30c0ff2499410c8d57aae9bf8fc
|
|
This is a breaking change to zucchini patch format:
Zucchini 1.0, see changelog.
Add major/minor patch-wide version, and element version.
Also add VerifyPatch() API and command line option to verify
patch compatibility.
Design: go/zucchini-versions
Bug: 1231882
Change-Id: I19f1fbe2ee866c23f0814ffe6a912fb72812edbc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3140224
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Cr-Commit-Position: refs/heads/main@{#936096}
NOKEYCHECK=True
GitOrigin-RevId: 559d77a9741428a48add017d389d104e431e6de7
|
|
shrink_to_fit with vector tends to cause high memory peak.
Changing deque is a simple change that reduces memory peak at the cost of
loss of guarantee (contiguous storage).
Similar to https://chromium-review.googlesource.com/c/chromium/src/+/2830864
which dramatically reduced crach rate
https://crash.corp.google.com/browse?q=product_name%3D%27Chrome%27+AND+EXISTS+%28SELECT+1+FROM+UNNEST%28CrashedStackTrace.StackFrame%29+WHERE+FunctionName%3D%27installer%3A%3AArchivePatchHelper%3A%3AZucchiniEnsemblePatch%27%29+AND+expanded_custom_data.ChromeCrashProto.magic_signature_1.name%3D%27%5BOut+of+Memory%5D+zucchini%3A%3ADisassemblerWin32%3Czucchini%3A%3AWin32X64Traits%3E%3A%3AParseAndStoreRel32%27
An alternative is to look ahead to determine vector size. The is hard to do
with SortAndUniquify, which performs in-place modifications.
Bug: 1247633
Change-Id: I624c360ee1f2bf18bd584d1aafdde0f0c2ffb61e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3149810
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/main@{#921292}
NOKEYCHECK=True
GitOrigin-RevId: 380557e6b592531eb360513791968dd7ab0ee77d
|
|
Bug: 794619
Change-Id: Ic842b420403fe932525fb5878d2e1d4e81577c32
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3141022
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Colin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#919333}
NOKEYCHECK=True
GitOrigin-RevId: bef7bc52a0e081b382fd660a2ea3adc49500cac3
|
|
DEX Version 39 added:
* const-method-handle containing a method_handle@BBBB reference
* const-method-type containing a proto@BBBB reference
This CL
* Updates CodeToProtoId for const-method-type
* Adds CodeToMethodHandle and WriteMethodHandle
Fuzzed about 500k iterations locally and uploaded new samples to
the clusterfuzz bucket. 97% coverage.
Manually tested on hand-written dex files using smali as well as the
dexdump test corpus.
Bug: 1231885
Change-Id: Id8ab09ac8d3331902c5e6f92ac39ebd26d36e79b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3060660
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/main@{#918948}
NOKEYCHECK=True
GitOrigin-RevId: d08c50abf7b49f3a5b97a03d5bb79bce9fdb7fad
|
|
Use template read/write functions instead of repeated versions.
Change-Id: Ie87d307ebd7b297fe802216fe07aa820d7b1fa4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3082253
Reviewed-by: Samuel Huang <huangs@chromium.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/main@{#918237}
NOKEYCHECK=True
GitOrigin-RevId: d64aec31e8bb5e1acb9a2da1e6e92fbd5e59d5f6
|
|
DEX Version 38 added:
* CallSiteId & CallSite items
* MethodHandle items
* invoke-polymorphic containing meth@BBBB and proto@HHHH references
* invoke-custom containing a call_site@BBBB reference
This CL:
* Adds CallSiteIdToCallSite
* Adds MethodHandleTo{MethodId, FieldId}
* Adds CodeToProtoId16 for invoke-polymorphic
* Adds CodeToCallSiteId16 and WriteCallSiteId16 for invoke-custom
* Updates CodeToMethodId16 for invoke-polymorphic
Fuzzed about 1 million iterations locally and uploaded new samples to
the clusterfuzz bucket. 97% coverage.
Manually tested on hand-written dex files using smali as well as the
dexdump test corpus.
Bug: 1231885
Change-Id: Icd885be2cfd433d0befe689d16c4a1e99573ca6c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3060745
Reviewed-by: Samuel Huang <huangs@chromium.org>
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Cr-Commit-Position: refs/heads/main@{#918119}
NOKEYCHECK=True
GitOrigin-RevId: 9cc600ef0b60ff1ec76683a2bfb98a6bdbb05d1e
|
|
Original change: https://android-review.googlesource.com/c/platform/external/zucchini/+/1804859
Change-Id: Id7a836436fcb9b27ee1c9cc9edb17c8ac57d7ceb
|
|
Original change: https://android-review.googlesource.com/c/platform/external/zucchini/+/1804267
Change-Id: I5f03cf680ab86bb1d3e965e2f238573efa5676c2
|
|
|
|
|
|
Test: build
Change-Id: Ifa02e31a68cca26876f6b860a0c8701c4a1be497
|
|
Original change: https://android-review.googlesource.com/c/platform/external/zucchini/+/1802617
Change-Id: I37d66d5515ded0ada262545be92bab2c69b6e9cb
|
|
When marking libzucchini as recovery_available, build system tries to
glob all header files in exported include dir. This fails because the
symlink points to a parent directory, which also contains the symlink
itself. Therefore the glob fails due to infinite recursion.
Test: th
Bug: 194237829
Change-Id: I49eb64b2c31f3446f17db6139803f81e2a39148b
|
|
Added legacy_notice to:
Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Exempt-From-Owner-Approval: janitorial work
Merged-in: I16d1c2fb3282ec8317c8d48bf2816e922ab98be8
Change-Id: I5283ad5beb8cc403269961181e69cbfcd2410091
|
|
Original change: https://android-review.googlesource.com/c/platform/external/zucchini/+/1802618
Change-Id: I01662dc36cd8b640b2dbf00761efb346c54248fa
|
|
zucchini might need to run on host w/o android repo(for testing
purposes). Therefore statically link the binary.
Test: th
Change-Id: Ic3847cbf4694418fa43270580596bf7d5cc70f8e
|
|
Original change: https://android-review.googlesource.com/c/platform/external/zucchini/+/1802897
Change-Id: Id8702c3328a7db881f0ede4a2833ecfd1ec609aa
|
|
Original change: https://android-review.googlesource.com/c/platform/external/zucchini/+/1802898
Change-Id: I301b7eb3e68c6409993ad27758686e0fb3385d3f
|
|
Test: th
Change-Id: I43210076c7db6df175ba29b128657552e0cff286
|
|
Test: th
Change-Id: I9b2beec4ee34d1ba23c1af24dec3f4b9169d6bd4
|
|
Original change: https://android-review.googlesource.com/c/platform/external/zucchini/+/1799408
Change-Id: I21e4ab8991183811dd932abcfdd4df656700e18a
|
|
Original change: https://android-review.googlesource.com/c/platform/external/zucchini/+/1799407
Change-Id: Ice09dd23e63de36cfcdc98e74cc252285e0fcc58
|
|
fd73dddb6b
Original change: https://android-review.googlesource.com/c/platform/external/zucchini/+/1799387
Change-Id: I16a51c04f7c5ba6053b901724606afd9f595e265
|
|
Test: mm
Change-Id: Ia030273fcc71d0920f2c62327a08903e5e27a544
|
|
Change-Id: I10d1bd2f4e598f39ca459893677f88413db05c7d
|
|
Test: N/A
Change-Id: I79a86dd69be09f84d5c5d58298916454a572d3d6
|
|
This CL replaces
* 30 instances of DISALLOW_COPY_AND_ASSIGN(Foo),
* 1 instance of DISALLOW_IMPLICIT_CONSTRUCTORS(Foo),
in Zucchini with:
Foo() = delete; // DISALLOW_IMPLICIT_CONSTRUCTORS only.
Foo(const Foo&) = delete;
const Foo& operator=(const Foo&) = delete;
All base/macros.h includes are removed.
Bug: 1010217
Change-Id: I13b3d5ed04f04e5c0b209d59e70ac018c5f4938c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3093198
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Commit-Queue: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#911751}
NOKEYCHECK=True
GitOrigin-RevId: ba0e1f56993c535faa59e2ca02c371bae2ebbb20
|
|
|
|
This CL enables ARM-ELF (AArch32 and AArch64) support in Zucchini.
* Define ARM {AArch32, AArch64}ReferenceType.
* Add Rel32Finder{Arm, AArch32, AArch64} (with tests) to use
previously-added ARM disassembly code to extract rel32 references.
* Add DisassemblerElf{Arm, AArch32, AArch64} to parse ARM ELF files and
create reference readers / writers, and reference groups.
* For AArch32: Add heuristic detection of ARM vs. Thumb2 mode.
* Add IsTargetOffsetInElfSectionList() (with tests) to help ARM reject
false positive references.
* Add ReferenceBytesMixerElfArm to remove redundant reference target
information from bytewise correction data.
Bug: 918867
Change-Id: I1e6d3d8b8d174c85a3d44ca6d642b7ff0bd6a6a6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2922822
Commit-Queue: Samuel Huang <huangs@chromium.org>
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#908913}
NOKEYCHECK=True
GitOrigin-RevId: 85cc8a596f183487b395a59e80b2f654f241ab2c
|
|
param.
Previously DisassemblerElfIntel<TRAITS>::ParseExecSection() passes a
hard-coded 4 to Abs32GapFinder's |abs32_width| CTOR param. This is
wrong for X64, which has abs32 pointer width of 8 bytes. This can lead
to lower quality rel32 extraction.
This CL fixes the above by replacing 4 with Traits::kVAWidth, and also
cleans up TRAITS / Traits template parameter for Disassembler:
* For template param, "template <class TRAITS>" is used throughout.
* This means function params needs to use TRAITS.
* For usage, each Disassembler class with TRAITS declares
using Traits = TRAITS;
(and variant) and uses Traits in the body of all functions. Reason:
Specialized derive classes won't have TRAITS available , so:
* Function params can use DisassemblerBase::Traits.
* Function bodies can use Traits.
* For consistency, even if TRAITS is available, still use Traits.
Bug: 1233831
Change-Id: Ie796c867fb238eca462b2fb6b4e68a965996c25a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3063919
Commit-Queue: Samuel Huang <huangs@chromium.org>
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#908261}
NOKEYCHECK=True
GitOrigin-RevId: 294860c47cd3678c46422ce57da366724e1dc629
|
|
Bug: 1213098
Change-Id: Ib769095b1d2cd110f8d458bc95a62afecc070cce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3056862
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Cait Phillips <caitkp@chromium.org>
Reviewed-by: Cait Phillips <caitkp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#906817}
NOKEYCHECK=True
GitOrigin-RevId: f1dcb7053e7f86ce4821f71fc9da98ce59d37035
|
|
This is among the most costful includes for the Chromium build.
https://commondatastorage.googleapis.com/chromium-browser-clang/include-analysis.html
This batch of CLs attempts to detect and remove leftover includes with a
heuristic: choose files which don't contain 'std::vector' or 'push_back'.
This doesn't really guarantee that std::vector is not being used, as
shown by the snippets below, so please review carefully.
```
auto v = GetVector();
MyVectorAlias v = GetVector();
my_vector_ = GetVector();
```
This CL was uploaded by git cl split.
R=etiennep@chromium.org
Bug: 1233968
Change-Id: I4f84f26bfdf81c3997cc939c3d8a692e17ddde9a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3059580
Auto-Submit: Victor Vianna <victorvianna@google.com>
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#906383}
NOKEYCHECK=True
GitOrigin-RevId: 9057c66a34aedd20d4eced2562f80c8e50e8771e
|
|
This CL performs some code cleanup to prepare for main CL that adds
ARM support for ELF files (https://crrev.com/c/2922822):
* Rename ARM32 / Arm32 to AArch32.
* Replace DISALLOW_COPY_AND_ASSIGN for affected files.
Bug: 918867
Change-Id: I0e96b66fb29e9d1a35f9d7fac65755fbeda4831f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3044420
Commit-Queue: Samuel Huang <huangs@chromium.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#904357}
NOKEYCHECK=True
GitOrigin-RevId: 33679d241940ef6221b68d3e5daef606d7dd767d
|
|
Headers that do not reference absl::optional do not need to include
third_party/abseil-cpp/absl/types/optional.h.
Bug: 1227131
Change-Id: Ibe634116da4a61260936be5b624fb1b9895505cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3036368
Reviewed-by: Nico Weber <thakis@chromium.org>
Owners-Override: Nico Weber <thakis@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#903283}
NOKEYCHECK=True
GitOrigin-RevId: 4f52073ed256dfeffdaca25c90dcc4c2145d78a1
|
|
Bug: 242216
Change-Id: I4ef4609a62af06cf5e0bc519e761d8c87579bf2f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3014801
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Owners-Override: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#899554}
NOKEYCHECK=True
GitOrigin-RevId: f2279caeb3f716287cddf465d9ee9ecf52853de9
|
|
This reverts commit e91c91c3e6471923fd83dbce0a44f7317f07393c.
Reason for revert:
Note: It is reported that sheriffs cannot submit CL created by Findit
(crbug.com/1187426). A workaround in the mean time is to abandon this
CL and create another revert CL.
Findit (https://goo.gl/kROfz5) identified CL at revision 898977 as the
culprit for failures in the build cycles as shown on:
https://analysis.chromium.org/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtL2U5MWM5MWMzZTY0NzE5MjNmZDgzZGJjZTBhNDRmNzMxN2YwNzM5M2MM
Sample Failed Build: https://ci.chromium.org/b/8842407444966732864
Sample Failed Step: compile
Original change's description:
> Remove some unnecessary #includes.
>
> According to
> https://commondatastorage.googleapis.com/chromium-browser-clang/include-analysis.html
> these were responsible for 1,460,113,428 bytes of input to the compiler,
> or roughly 0.58% of the input used to build Chrome.
>
> Bug: 242216
> Change-Id: I1dd0a5fd3fcceb2da9bcf3dbae40e18590faf145
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3009975
> Auto-Submit: Peter Kasting <pkasting@chromium.org>
> Reviewed-by: danakj <danakj@chromium.org>
> Owners-Override: danakj <danakj@chromium.org>
> Commit-Queue: Peter Kasting <pkasting@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#898977}
Change-Id: I54080e564838f77ce45de045f1487a6695f46647
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 242216
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3010718
Reviewed-by: Maggie Cai <mxcai@chromium.org>
Owners-Override: Maggie Cai <mxcai@chromium.org>
Commit-Queue: Maggie Cai <mxcai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#898979}
NOKEYCHECK=True
GitOrigin-RevId: 53dea79d16778f8fc1bfe54ac8f450e5dc146dac
|
|
According to
https://commondatastorage.googleapis.com/chromium-browser-clang/include-analysis.html
these were responsible for 1,460,113,428 bytes of input to the compiler,
or roughly 0.58% of the input used to build Chrome.
Bug: 242216
Change-Id: I1dd0a5fd3fcceb2da9bcf3dbae40e18590faf145
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3009975
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Owners-Override: danakj <danakj@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#898977}
NOKEYCHECK=True
GitOrigin-RevId: e91c91c3e6471923fd83dbce0a44f7317f07393c
|
|
base::Erase() and base::EraseIf() have been moved to
base/containers/cxx20_erase.h, so .cc files that use these functions,
but no other function from base/stl_util.h, can directly include
cxx20_erase.h and not stl_util.h.
Bug: 1211125
Change-Id: Ia8f213f1136ac4c5278cd096b1270002884b556d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2994779
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#897400}
NOKEYCHECK=True
GitOrigin-RevId: a6fa14833a6d44c3a3171696f5dbd229d6fdf006
|
|
This CL was uploaded by git cl split.
R=wfh@chromium.org
Bug: 1216696
Change-Id: I78d558e20d5e4056b4470ff6a9b9395f72a61631
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2975779
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Will Harris <wfh@chromium.org>
Commit-Queue: Will Harris <wfh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#894795}
NOKEYCHECK=True
GitOrigin-RevId: 3a9b13d917c7dc2de170fdbd22fa19ac376daa8d
|
|
These are cases that are implicitly narrowing today, and must do so
explicitly in order to enable -Wc++11-narrowing. No behavior change
intended.
Bug: 1216696
Change-Id: Ic8f194bb0ab9a247d3e84cc59a687285cdb96d48
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2947886
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#890878}
NOKEYCHECK=True
GitOrigin-RevId: 379c52be13901beae4f773fe9e8054ad42a186c4
|
|
Previously, using Abs32GapFinder / Rel32Finder to visit gaps / rel32
references involves calling a getter that returns an optional<> value
whose emptiness indicates end of iteration. The code to use this looks
like:
for (auto value = finder.GetNext(); value; value = finder.GetNext()) {
...
}
This CL abandons optional<> usage and caches the results in Finders,
thereby removing repetition in iteration code:
while (finder.FindNext() {
auto value = finder.GetValue();
...
}
Additional changes:
* Incorporate AddressTranslator into Rel32Finder to offload translation
work from callers.
* Add tests to integrate Abs32GapFinder with Rel32Finder.
* Stylize test data to better show overlap between abs32 references
with disassembled test data.
Bug: 918867
Change-Id: Id044b67550f81c3f46ab383c5b6200906f56ca4e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2918113
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Commit-Queue: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#888049}
NOKEYCHECK=True
GitOrigin-RevId: 89023e1c511e599e6aeaf0b8d80e3efa2e730b5b
|
|
base::size() has been moved to base/cxx17_backports.h, so .cc files that
use base::size(), but no other function from base/stl_util.h, can
directly include base/cxx17_backports.h and not base/stl_util.h.
Bug: 1210983
Change-Id: I445378492ab1193ea76ca0c0b9958e9cb9c4ca0f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2915464
Reviewed-by: Colin Blundell <blundell@chromium.org>
Reviewed-by: Greg Kerr <kerrnel@chromium.org>
Commit-Queue: Greg Kerr <kerrnel@chromium.org>
Auto-Submit: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#886365}
NOKEYCHECK=True
GitOrigin-RevId: d073f65fc063f417cfabba9d5f5fbe4632320e05
|
|
Bug: 1205597
Change-Id: I19c9513db7587d843a4cc8edc9b7267992f65a2c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2897540
Auto-Submit: Nico Weber <thakis@chromium.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#883586}
NOKEYCHECK=True
GitOrigin-RevId: 27cc62076c62d78f6d67edaa93453aebd667d130
|
|
This replaces:
- base::Optional -> absl::optional
- include "base/optional.h"
->
include "third_party/abseil-cpp/absl/types/optional.h"
- base::nullopt -> absl::nullopt
- base::make_optional -> absl::make_optional
Bug: 1202909
Change-Id: If697b7bf69b199c1796f873eedca3359cdb48c64
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2897151
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Owners-Override: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#883296}
NOKEYCHECK=True
GitOrigin-RevId: 1156b5f891de178171e71b9221a96bef1ced3d3b
|
|
Headers that do not reference base::FilePath do not need to include
base/files/file_path.h. This reduces the amount of data necessary to
build the chrome target by 175 MB.
Bug: 242216
Change-Id: I7abd8d9fc1862a2dca11292719ab5b9146ab04d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2878909
Reviewed-by: Peter Boström <pbos@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Owners-Override: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#880501}
NOKEYCHECK=True
GitOrigin-RevId: 12341b14c8ec39ae08af60a9d40cfeb0b9e748db
|
|
Headers that do not contain "std::" do not need STL includes.
This CL is mechanically generated as follows:
INCL="algorithm|array|list|map|memory|queue|set|string|utility|vector"
git ls-files components | grep '\.h$' | xargs grep -L std:: | \
xargs grep -El "#include <($INCL)>$" > to_process.txt
INCL_ESCAPED="$(echo $INCL|sed 's/|/\\|/g')"
cat to_process.txt | xargs sed -i "/^#include <\($INCL_ESCAPED\)>$/d"
cat to_process.txt | xargs sed -i '/^$/N;/^\n$/D'
Bug: 1200833
Change-Id: I3dd65ac6d5b7d2542df285d752af0bd7a9bd965d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2845086
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#877818}
NOKEYCHECK=True
GitOrigin-RevId: 0bf0ff5b03feb5f59c0dddefdb18ac1a9f764aef
|
|
List of files to delete from generated using the following command:
git grep -l base/strings/stringprintf.h | \
xargs grep -L 'StringPrint[fV]' | xargs grep -L StringAppend | \
grep -E '(cc|mm|h)$'
Change-Id: Ibc72245f08730b4d25283e2d966235b61513c7ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2849392
Reviewed-by: Peter Boström <pbos@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Owners-Override: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#876365}
NOKEYCHECK=True
GitOrigin-RevId: b49a213e324277a5539cc808e46cfa982502a81d
|
|
An optimization to reduce zucchini peak memory footprint.
MakeReadRel32 bring peak memory unnecessarily high due to std::vector
allocation heuristic, along with shrink_to_fit which temporarily
forces additional allocation: in the order of 32MB+19MB while only
19MB was needed.
deque puts less memory pressure than vector since it doesn't have
contiguous requirement and shrink_to_fit can be done in-place.
deque
Zucchini.PeakPagefileUsage 738876 KiB
Zucchini.PeakPagefileUsageChange 717436 KiB
Zucchini.PeakWorkingSetSize 632284 KiB
Zucchini.PeakWorkingSetSizeChange 623464 KiB
Zucchini.TotalTime 9.40955 s
vector
Zucchini.PeakPagefileUsage 755252 KiB
Zucchini.PeakPagefileUsageChange 733820 KiB
Zucchini.PeakWorkingSetSize 632660 KiB
Zucchini.PeakWorkingSetSizeChange 624616 KiB
Zucchini.TotalTime 10.3224 s
Bug: 1194281
Change-Id: Ic5a7f529d4465241990dbe27a485a67b32ab44b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2830864
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#873383}
NOKEYCHECK=True
GitOrigin-RevId: 52f908bb699f8d106a1c43e10257759cce90500d
|