- Aug 04, 2020
-
-
Hans Wennborg authored
This adds a new fuzzer which first deflates and then inflates some data one chunk at a time and verifies that it round-trips correctly. It's targeted at the recent bug where inffast_chunk was called with overlapping from and out buffers. I've verified that the fuzzer detects the incorrect inflate results when using Clang's -basic-aa-recphi option before the bug fix in e0f88a9. Furthermore, this patch adds asserts in inffast_chunk and other functions that verify there's no overlap of restrict-qualified buffers. (I've checked that the fuzzer hits the inffast_chunk assert before e0f88a9). To make those asserts work, this changes the build config to define ZLIB_DEBUG in debug and fuzzer builds. Bug: 1103818, 708726 Change-Id: Ia3d5e7906b8b1a65d56a589d8a81d17661e638c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2332705 Commit-Queue: Hans Wennborg <hans@chromium.org> Reviewed-by:
Nico Weber <thakis@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#794482} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 3eda17e22e6a3c4e44fdfa778b7d55f0a7c82e75
-
- Jul 27, 2020
-
-
Sylvain Defresne authored
As https://crrev.com/c/2299189 adds `OS_MAC` & `OS_APPLE`, add a gn variable `is_apple` that is true when `OS_APPLE` is defined. This allow an easy mapping between gn variables and cpp macros. Convert all usages of `is_ios || is_mac` or `is_mac || is_ios` to use the new variable instead. Bug: 1105907 Change-Id: I4cef55496a0ccf0a6162e60409ff3b7996f633dd Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2315695 Commit-Queue: Nico Weber <thakis@chromium.org> Reviewed-by:
Nico Weber <thakis@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#791803} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: fafffe8843d5dac1ef479ae2e9058e0f93faf82d
-
- Jun 24, 2020
-
-
Nico Weber authored
Doesn't build at all, but hey, it's a start. Bug: 1098899 Change-Id: I63500b3650b315c47219614cc9ae9a3ddbcf42c5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2264499 Commit-Queue: Mark Mentovai <mark@chromium.org> Auto-Submit: Nico Weber <thakis@chromium.org> Reviewed-by:
Mark Mentovai <mark@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#782116} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0347dc10a71fbb47457f639f7f908bdeaafbebc8
-
- May 26, 2020
-
-
Adenilson Cavalcanti authored
The idea is to allow building the utests outside of Chromium directory structure, thus allowing to run the tests as part of AOSP or any other downstream project. Bug: 1032721 Change-Id: I21a93b35221a9f5438c8a50908af05725c28022a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2210904 Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#771939} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 944295e224eb626ffbc52fd533554c99fce363f3
-
- May 21, 2020
-
-
Adenilson Cavalcanti authored
This change enables building zlib using -O3 for the remaining code [1] including the portable files (e.g. deflate.c, etc). [1] We were already using optimize_speed for the majority of SIMD code and this CL extends that to build the same code we ship to users. Bug: 1084371 Change-Id: I02b0da7d0849478714bb7e3388c0d218fd13ecda Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2197140 Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Noel Gordon <noel@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#771209} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: aa2865de5f8879f323dde4a03c324cb04fb3ce34
-
- Apr 29, 2020
-
-
Adenilson Cavalcanti authored
There is a test suite in Canonical zlib that ensures correctness and coverage of inflate/deflate: the inflate cover (infcover.c) suite. This patch imports the inflate cover suite with the necessary changes to make it build and run under Chromes's C++11 GTEST test system. There are minimal changes (i.e. undefined 'local', miscellaneous C casts to use C++ casts, etc) so we can build it as C++ code and hook into GTEST e.g. use EXPECT_TRUE instead of C assert from <assert.h>. Adds a patch file for these changes, that can be applied on Canonical infcover should we need to sync with a new Canonical zlib release. TODO: there's one test accessing a symbol that causes link errors so comment that code out for now. Bug: 1032721 Change-Id: I004a1357d46d909ad3a5a5bacc5f9ab9bfcb7809 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2168792 Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Noel Gordon <noel@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#763696} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 26b3182d7a40f33da10a95bc69199af925dedbcc
-
- Apr 22, 2020
-
-
Collin Baker authored
This reverts commit 591bbce5ef7136253ac799078a51aac60553e578. Reason for revert: compile failure: https://ci.chromium.org/p/chromium/builders/ci/win32-archive-rel/12393 Original change's description: > [zlib] Import canonical zlib inflate cover tests > > There is a test suite in Canonical zlib that ensures correctness and > coverage of inflate/deflate: the inflate cover (infcover.c) suite. > > This patch imports the inflate cover suite with the necessary changes > to make it build and run under Chromes's C++11 GTEST test system. > > There are minimal changes (i.e. undefined 'local', miscellaneous C > casts to use C++ casts, etc) so we can build it as C++ code and hook > into GTEST e.g. use EXPECT_TRUE instead of C assert from <assert.h>. > > Adds a patch file for these changes, that can be applied on Canonical > infcover should we need to sync with a new Canonical zlib release. > > TODO: there's one test accessing a symbol that causes link errors so > comment that code out for now. > > Bug: 1032721 > Change-Id: I2e7699477025b9eb291d51a713b34a843f1c1116 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2159700 > Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> > Reviewed-by:
Noel Gordon <noel@chromium.org> > Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> > Cr-Commit-Position: refs/heads/master@{#761646} TBR=noel@chromium.org,cavalcantii@chromium.org,cblume@chromium.org,adenilson.cavalcanti@arm.com Change-Id: I4eea478017f0408356ffbfd96481337875905839 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 1032721 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2161363 Reviewed-by:
Collin Baker <collinbaker@chromium.org> Commit-Queue: Collin Baker <collinbaker@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#761658} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: f2aa05346c32294a6fd523372e1eafa4a8e17a02
-
Adenilson Cavalcanti authored
There is a test suite in Canonical zlib that ensures correctness and coverage of inflate/deflate: the inflate cover (infcover.c) suite. This patch imports the inflate cover suite with the necessary changes to make it build and run under Chromes's C++11 GTEST test system. There are minimal changes (i.e. undefined 'local', miscellaneous C casts to use C++ casts, etc) so we can build it as C++ code and hook into GTEST e.g. use EXPECT_TRUE instead of C assert from <assert.h>. Adds a patch file for these changes, that can be applied on Canonical infcover should we need to sync with a new Canonical zlib release. TODO: there's one test accessing a symbol that causes link errors so comment that code out for now. Bug: 1032721 Change-Id: I2e7699477025b9eb291d51a713b34a843f1c1116 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2159700 Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Noel Gordon <noel@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#761646} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 591bbce5ef7136253ac799078a51aac60553e578
-
K. Moon authored
Adds //build/config/compiler:no_chromium_code back to //third_party/zlib:zlib_inflate_chunk_simd. This was removed in crrev.com/c/2156228, but triggers a fatal warning in this target when compiled with MSVC, due to the K&R-style function declarations. PDFium and V8 still support MSVC. Bug: 1072308 Change-Id: I746862b1bd5205fd841bf77f227d0658bb38f0fc Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2161475 Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: K Moon <kmoon@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#761634} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 8c3b080d464965b296918dbccfc4e34ae8544465
-
Lei Zhang authored
Non-Chromium projects that pull in zlib may not be able to build the test. Also make "git cl format" happy. Change-Id: Ibc06828bfc495396d2b14d5f70feb0473be7427b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2159956 Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#761297} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 96490d319315e6263437107dc6cab3018d785dc4
-
Noel Gordon authored
Add DEFLATE_FILL_WINDOW_SSE2 define for the fill_window_sse feature and use it to guard the feature code (not ADLER32_SIMD_SSSE3). The fill_window_sse feature only requires SSE2: use x86_cpu_enable_sse2 for the run-time check. No-presubmit: true Bug: 1072308 Change-Id: I770fffa619c998dae1c1f8da1cac8b973e43a509 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2156330 Commit-Queue: Noel Gordon <noel@chromium.org> Auto-Submit: Noel Gordon <noel@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#761279} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: cd8dcf969915890e5b0d6aa5f9c35ec9a0363290
-
- Apr 21, 2020
-
-
Noel Gordon authored
Add build config for zlib_x86_simd, and define CRC32_SIMD_SSE42_PCLMUL within it. Change crc32.c to use it to guard the crc_folding code, not the unrelated ADLER32_SIMD_SSSE3 guard. Bug: 1072308 Change-Id: I7146cf8b83086e5f706ae0c3ad4c13caa2ec0b01 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2156233 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Chris Blume <cblume@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#760909} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 4d8c68ab66b3cf9d3ba6fee4d0fb9f9b92e18d87
-
- Apr 20, 2020
-
-
Noel Gordon authored
The zlib no-chromium-code rule leached into some build sub-rules where they are not actually needed: undo that. Rule configs and source_sets have separate sections dealing with Intel vs Arm: keep them separate (no if's with else's), white-space helps. Minor ordering changes: generally it's sources first, defines && deps, then configs. Use that order most everywhere. Special case: "warnings" do not quite fit. Leave them till last which matches their comments as a side-effect. Bug: 1072308 Change-Id: I2cbce82f165fad4d594b93a5169d6bc57585717e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2156228 Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Auto-Submit: Noel Gordon <noel@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#760669} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 3d38d588dfd76b6861f4fc4dfff878fb90222665
-
- Apr 08, 2020
-
-
Adenilson Cavalcanti authored
One of the optimizations (i.e. chunk_copy) will perform vector stores on 16 bytes chunks instead of the original 3 bytes scalar operations. It is interesting to validate its safety while operating with small payloads (i.e. data input smaller than a single load/store). Even though it is a corner case (i.e. the payload would be smaller than the wrapper used for the DEFLATE stream for GZIP), it is good to certify that the optimization works as expected. This will also add gtest as a dependency as the plan is to write some tests to stress the optimizations we ship. Bug: 1032721 Change-Id: Ifc6a81879e3dba6a9c4b7cfde80e7207258b934c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2128836 Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Chris Blume <cblume@chromium.org> Reviewed-by:
Victor Costan <pwnall@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#757639} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 272595ed5f469ee379e28dd5c40ef0230b6680a5
-
- Feb 14, 2020
-
-
Richard Townsend authored
MSVC's support for Arm intrinsics is incomplete. To restore the build and make sure MSVC-compiled downstream projects can compile V8 for Windows on Arm, temporarily disable these optimizations until we can fix them or MSVC improves. Bug: v8:10012 Change-Id: Iaa599aa20ace167e0fcc2a2472e97e7f2ac53773 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2054884 Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Chris Blume <cblume@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#741287} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 4d4b04f0d0da2f044e7c6f74708cf1b218294ad0
-
- Jan 28, 2020
-
-
Nico Weber authored
`gn format` recently changed its formatting behavior for deps, source, and a few other elements when they are assigned (with =) single-element lists to be consistent with the formatting of updates (with +=) with single-element. Now that we've rolled in a GN binary with the change, reformat all files so that people don't get presubmit warnings due to this. Most changes have landed by now via `git cl split`. This is what remains after two weeks. Bug: 1041419 Change-Id: Ia813d744e57e5647266a91d4f6c725bf921fb11c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2024471 Commit-Queue: Nico Weber <thakis@chromium.org> Auto-Submit: Nico Weber <thakis@chromium.org> Reviewed-by:
Kentaro Hara <haraken@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#735958} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 852532f442a478b767bb452c63b5aa9b2e5e19fe
-
- Jan 24, 2020
-
-
Hans Wennborg authored
This reverts commit 0aa05cca9db25a9fa8d18f77bf6b2452bc608ead. Reason for revert: This broke arm64-builder-rel and some other builders, see bug. Original change's description: > Roll clang n333938-3a6da112-1 : n340158-efb130fc-2. > > Ran `tools/clang/scripts/upload_revision.py efb130fc93059bdf02d3a83950ddabc5d119f9de`. > > This increases the clang version from 10 to 11. > > It also disables the use of vector instructions in zlib to work around > new false positives in msan (see crbug.com/1045291). > > Bug: 1030664 > Change-Id: I5417d3063f0d67a61cdf31141b05a51a56e84482 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2014904 > Reviewed-by:
Nico Weber <thakis@chromium.org> > Commit-Queue: Hans Wennborg <hans@chromium.org> > Cr-Commit-Position: refs/heads/master@{#735080} TBR=thakis@chromium.org,hans@chromium.org Change-Id: I48754484c26ebf6b1f0b4a47c82fe3c74ee39837 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 1030664,1045592 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2020785 Reviewed-by:
Hans Wennborg <hans@chromium.org> Commit-Queue: Hans Wennborg <hans@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#735124} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: ec2aab7d123590cfb332ba56d7faee2e1ff4a779
-
Nico Weber authored
Ran `tools/clang/scripts/upload_revision.py efb130fc93059bdf02d3a83950ddabc5d119f9de`. This increases the clang version from 10 to 11. It also disables the use of vector instructions in zlib to work around new false positives in msan (see crbug.com/1045291). Bug: 1030664 Change-Id: I5417d3063f0d67a61cdf31141b05a51a56e84482 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2014904 Reviewed-by:
Nico Weber <thakis@chromium.org> Commit-Queue: Hans Wennborg <hans@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#735080} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0aa05cca9db25a9fa8d18f77bf6b2452bc608ead
-
- Jan 08, 2020
-
-
Adenilson Cavalcanti authored
This will allow to remove some duplicated code (i.e. thread synchronization) while at same time removing unnecessary use of inline ASM for Intel features detection. A few other advantages: - remove some extra logic (e.g. no need to test the platform to include the correct CPU detection header). - simplifies the buildsystem (i.e. we always include cpu_features.c) - get rid of the simd_stub file. Bug: 1032721 Change-Id: I9427b34ec09dddc41925844a6ec4e6aa4d8f3207 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1987190 Reviewed-by:
Mike Klein <mtklein@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#729515} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: d989ac2c596e88e7581eb93d053945a43c611124
-
- Dec 21, 2019
-
-
Hans Wennborg authored
This reverts commit 6f7e5e79cefe982ad84a88927565a88db2e592be. Reason for revert: This broke the build, e.g. https://ci.chromium.org/p/chromium/builders/ci/ios-device/144512 ../../third_party/zlib/cpu_features.c:75:13: error: unused function '_cpu_check_features' [-Werror,-Wunused-function] static void _cpu_check_features(void) ^ Original change's description: > Unify CPU features detection code > > This will allow to remove some duplicated code (i.e. thread synchronization) > while at same time removing unnecessary use of inline ASM for Intel features > detection. > > A few other advantages: > - remove some extra logic (e.g. no need to test the platform to include the > correct CPU detection header). > - simplifies the buildsystem (i.e. we always include cpu_features.c) > - get rid of the simd_stub file. > > Bug: 1032721 > Change-Id: Ic93472d3337bc2cbe092d4cf8fbe4b31b1ceca6d > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1976820 > Reviewed-by:
Chris Blume <cblume@chromium.org> > Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> > Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> > Cr-Commit-Position: refs/heads/master@{#727038} TBR=cavalcantii@chromium.org,cblume@chromium.org,mtklein@chromium.org,adenilson.cavalcanti@arm.com Change-Id: I20c5dedb98ba8b5d304ff1339042bcf243505e88 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 1032721 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1979790 Reviewed-by:
Hans Wennborg <hans@chromium.org> Commit-Queue: Hans Wennborg <hans@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#727039} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 9d8f976414a7608c3361718462253104a761c6bb
-
Adenilson Cavalcanti authored
This will allow to remove some duplicated code (i.e. thread synchronization) while at same time removing unnecessary use of inline ASM for Intel features detection. A few other advantages: - remove some extra logic (e.g. no need to test the platform to include the correct CPU detection header). - simplifies the buildsystem (i.e. we always include cpu_features.c) - get rid of the simd_stub file. Bug: 1032721 Change-Id: Ic93472d3337bc2cbe092d4cf8fbe4b31b1ceca6d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1976820 Reviewed-by:
Chris Blume <cblume@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#727038} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 6f7e5e79cefe982ad84a88927565a88db2e592be
-
- Dec 12, 2019
-
-
Adenilson Cavalcanti authored
This change will unify the x86 and Arm optimized implementations for insert_string (used for compression). The objective here is two-fold: a) Remove duplicated code. b) Better insulate deflate.c divergence when compared to vanilla zlib. Bug: 1032721 Change-Id: Id2f65398aeb5a6384708493f0f6ae1fcd14022c2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960893 Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#724325} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 9d4ec9349a1bf609eedb917c44c69eb0df9ff6bb
-
- Aug 27, 2019
-
-
Sam Maier authored
cpu_features GN target moved from android_sdk to android_ndk TBR: minor rename of target Bug: 990407 Change-Id: I82e25a24716d73e17f2e19dd5e83e94b636b8b0f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1756203 Auto-Submit: Sam Maier <smaier@chromium.org> Reviewed-by:
Andrew Grieve <agrieve@chromium.org> Commit-Queue: Sam Maier <smaier@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#690799} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 801f0550ba72ea0021e97552ec9b98267b69f673
-
- Jun 24, 2019
-
-
Tomasz Śniatowski authored
Check use_thin_lto instead of thin_lto_enable_optimizations, as the latter is only defined in a BUILD.gn so can't be checked outside of it. Plus the intent of https://crrev.com/c/1642730 appears to have been to error out on LTO in general anyway. Fixes gn gen --args="is_clang=false target_cpu=\"arm\"" failing with: ERROR at //third_party/zlib/BUILD.gn:105:17: Undefined identifier assert(!thin_lto_enable_optimizations, ^---------------------------- Bug: 819294 Change-Id: Ibbcae447b01043edc8a118f4a3a3923f2d0ae261 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1667663 Auto-Submit: Tomasz Śniatowski <tsniatowski@vewd.com> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#671713} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 28065982319c824cccff912f0ce561f60d054796
-
- Jun 10, 2019
-
-
Jose Dapena Paz authored
GCC compilation in ARM architectures with CRC32 extension was broken, as the extension was guarded for clang. For GCC we are enforcing armv8-a+crc architecture at module level, so the builtin extensions are available. Then we just include arm_acle.h to declare the required builtins. ThinLTO requires all modules to use same target, so this change makes GCC fail with ThinLTO (that was not supported anyway). Added a GN assert to explicitely fail in this case. Adapted from Vladislav Mukulov <vladislav.mukulov@lge.com> original patch. Bug: 819294 Change-Id: Ifa5cf64318f88220052c44126db90bef999b7113 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1642730 Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: José Dapena Paz <jose.dapena@lge.com> Cr-Original-Commit-Position: refs/heads/master@{#667541} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 68e95088b6f73f489aa1e1023b7864794627cae1
-
- Apr 18, 2019
-
-
Richard Townsend authored
This CL integrates feature detection across the file so that similar sections do similar things across all operating systems. Bug: 810125 Change-Id: I066226be69453ada72fa67632d09567ce246a860 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1569929 Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#652187} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 8ef80a6282ba32c909c8a4ca52c767c192f0a6bd
-
- Apr 15, 2019
-
-
Richard Townsend authored
Fixes a failing GN assertion for Windows on Arm as it uses a separate path to check CRC32 extension support, so no OS-specific defines are needed. Bug: 810125 Change-Id: I172b4ecd66d94d195f1ccac4c6108ea2a40972a5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1567678 Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: Richard Townsend <richard.townsend@arm.com> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#651040} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 38bf6e359de031ec11566e446d6f7bbcd4dfc9d6
-
Noel Gordon authored
Add OS_FUCHSIA ARM CPU feature detection and enable the crc32 feature on the ARM version of Fuchsia (which is aarch64 only, FTR). For perf, see the results crbug.com/810125/#c17 .. crbug.com/810125/#c19. Add BUILD.gn asserts in the ARM crc32 feature rules: to vet any build expectations (e.g., that the android NDK is installed on is_android), or cause gn errors if the ARM OS type is not supported. Bug: 810125 Change-Id: Id6759d4c6142924c09c591b61117dca529955175 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1472990 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Sergey Ulanov <sergeyu@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#650712} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: c96f4c5c7a0cdaf823373c4bb417978b8321ffb2
-
- Apr 08, 2019
-
-
Tom Anderson authored
//third_party/zlib currently gets duplicated in 418 DSOs when building 'all'. This CL makes zlib a component so that component builds are a bit smaller/faster. Also rename zlib/names.h to zlib/chromeconf.h and remove it from patch files. BUG=941663 R=thakis Change-Id: I520d7ed30d0cfc322ebf1b9fb31bfbf5469f0209 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1545510 Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> Reviewed-by:
Nico Weber <thakis@chromium.org> Auto-Submit: Thomas Anderson <thomasanderson@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#648854} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: d7ee2f99fc936f2162a65b9bf087af94646248e8
-
- Mar 28, 2019
-
-
Peter Wen authored
Move the build targets to //third_party/android_sdk. Move files for android_platform into //third_party/android_platform. Tbr for build target renaming. Tbr: thakis@chromium.org Bug: 947060 Change-Id: I1ec7117b042a2bfe22c6dbc7985256465318cab7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1543468 Commit-Queue: Peter Wen <wnwen@chromium.org> Reviewed-by:
Nico Weber <thakis@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#645538} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 22bc3ec1ab45842fc3fa00ad2b1924680b678118
-
- Jan 31, 2019
-
-
Adenilson Cavalcanti authored
This enables reading bigger chunks of data in the DEFLATE decoder on aarch64. Basically instead of performing 2x 32-bit loads (i.e. ldrb w22,[x9]) followed by a second write in higher lane of the register (i.e. w23), memcpy will do a 64-bit load to the same register. (i.e. ldr x22, [x9]). This also allows to halve the amount of following operations (i.e. adds and shifts), improving performance in decompression. For JavaScript content the gain was close to 14% in big cores (A72) and 9% for little cores (A53). Bug: 812499 Change-Id: I010604ee62e72a769ce2a7912afb7e334adefacf Reviewed-on: https://chromium-review.googlesource.com/c/1447042 Reviewed-by:
Mike Klein <mtklein@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#628091} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: e2aef12cf002ca3577b9bfea3f2a89eed5379a4f
-
- Dec 13, 2018
-
-
Tiancong Wang authored
Using the ARM crc32 instruction can boost the speed of gzip content decompression, which can improve performances in cases where lots of webpages are served using 'content-encoding: gzip'. Expected to have ~50% decompression speed improvement on elm. Bug: 848897, 810125 Change-Id: I9f090950209e6a68271c6926700b7335e14c7cbf Reviewed-on: https://chromium-review.googlesource.com/c/1372548 Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#616210} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 9b3f32ad27fdd569e39289f241043f7111da78fa
-
- Oct 31, 2018
-
-
Daniel Bratell authored
There are some circular include dependencies in the zlib build system because some parts are extracted into their own targets. To make gn check understand that, those targets need to be added to the allow_circular_includes_from list. Bug: 898837 Change-Id: Ic94c5f5ac88e10792b458f4d734c4ad0487023c2 Reviewed-on: https://chromium-review.googlesource.com/c/1299135 Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Daniel Bratell <bratell@opera.com> Cr-Original-Commit-Position: refs/heads/master@{#604210} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: f2f7bfe61121c05d9a510b949931e395dce40608
-
- Aug 23, 2018
-
-
George Burgess IV authored
ThinLTO emits warnings when linking modules with different target triples. Android uses armv7-a as its default triple, so the mixing with armv8-a here is problematic. Bug: 807147 Test: md5sum <(objdump -d crc32_simd.o) is the same for Android. Change-Id: If2bffc4090d3d94f158eea80d19ee9eb827fc837 Reviewed-on: https://chromium-review.googlesource.com/1147867 Commit-Queue: George Burgess <gbiv@chromium.org> Reviewed-by:
Mike Klein <mtklein@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#585338} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 708d7d6be05885487cb5ccdffeab08a09ab1ea60
-
- Aug 07, 2018
-
-
Adenilson Cavalcanti authored
This should help with compression of data, using NEON instructions (therefore useful for ARMv7/ARMv8). Average gains were around 4% to 5% in data compression, depending on the data entropy. Re-write of a patch contributed to Fedora Core, for reference: https://src.fedoraproject.org/rpms/zlib/c/25e9802713484882c27c1f979a6610a42414ee13?branch=master Bug: 863257 Change-Id: I76573d75843d6a63de75d8a9536da98515314543 Reviewed-on: https://chromium-review.googlesource.com/1136940 Reviewed-by:
Mike Klein <mtklein@chromium.org> Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#581241} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: ddbbeb05cb3f0a4c27e7a5d5d0305462db373677
-
- May 30, 2018
-
-
Tom Anderson authored
After [1], a manual dependency on exe_and_shlib_deps is no longer necessary since it's automatically added. This CL removes all remaining manual references to exe_and_shlib_deps. [1] https://chromium.googlesource.com/chromium/src.git/+/d7ed1f0a9c28c932fddc834ca5de44f28266c7f5 BUG=845700 R=dpranke TBR=sky,mark Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg;master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.linux:closure_compilation;master.tryserver.chromium.linux:linux_vr;master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: I647442fb09eba4c055697bf26504abc3b3284d94 Reviewed-on: https://chromium-review.googlesource.com/1073613 Reviewed-by:
Dirk Pranke <dpranke@chromium.org> Reviewed-by:
Thomas Anderson <thomasanderson@chromium.org> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#563028} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: ce772faa73ab8fa58e848b61b786d449bb988237
-
- Mar 27, 2018
-
-
Adenilson Cavalcanti authored
Generate optimized code that will help ARMv8 chips (between 2 to 10% perf gain on ARMv8 little/big cores) at the expense of a small perf regression on older chips (i.e. ARMv7). Bug: 772870 Change-Id: Ifc47870724da9790c944f76fedcc225d0a896caf Reviewed-on: https://chromium-review.googlesource.com/976521 Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Chris Blume <cblume@chromium.org> Reviewed-by:
Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#546016} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: ffc960a39d26fda610e0023667b2465118b8580a
-
- Feb 16, 2018
-
-
Adenilson Cavalcanti authored
CRC32 affects performance for both image decoding (PNG) as also in general browsing while accessing websites that serve content using compression (i.e. Content-Encoding: gzip). This patch implements an optimized CRC32 function using the dedicated instruction available in ARMv8a. We only support ARM Little-Endian (LE). This instruction is available in new Android devices featuring an ARMv8 SoC, like Nexus 5x and Google Pixel. It should be between 3x (A72) to 7x faster (A53) than the C implementation currently used by zlib for 8KB vectors. This is performance critical code and can be called with both large (8KB) or small vectors, therefore we must avoid extraneous function calls or branching (otherwise the performance benefits are negated). So the use of 'public' variables to read the CPU features status flags (i.e. arm_cpu_enable_crc32 | pmull). Finally it also introduces code to perform run-time ARM CPU feature detection on the supported platforms: Android and Linux/CrOS. We build and link the CRC32 instruction dependent code, but will decide to use it at run-time if the ARM CPU supports the CRC32 instruction. Otherwise, we fallback to using zlib's default C implementation. This approach allows to use the instruction in both 32bits and 64bits and works fine either in ARMv7 or ARMv8 processor. I tested the generated Chrome apk in both a Nexus 6 (ARMv7) and a Google Pixel (ARMv8). The crc32 function benefited from input from Yang Zang and Mike Klein, while the arm_features benefited from input from Noel Gordon. Bug: 709716 Change-Id: I315c1216f8b3a8d88607630a28737c41f52a2f5d Reviewed-on: https://chromium-review.googlesource.com/801108 Reviewed-by:
Chris Blume <cblume@chromium.org> Reviewed-by:
Noel Gordon <noel@chromium.org> Commit-Queue: Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#537179} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 28c9623083688b3a354c33bf77746f4c51f58826
-
- Feb 12, 2018
-
-
Noel Gordon authored
Run git cl format over BUILD.gn, and add a line space here and there to increase readability. Tbr: cavalcanti@chromium.org Bug: None Change-Id: Id46ff314c0fe820880fd441858cbaca6d7754b46 Reviewed-on: https://chromium-review.googlesource.com/912209 Reviewed-by:
Noel Gordon <noel@chromium.org> Commit-Queue: Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#536036} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 94793843358349ff7e5259eef7a3c5519a90da09
-
Noel Gordon authored
This reverts commit b07c92a12d39e1ac51fe0dab8e4cb98f91f0d213. Reason for revert: the litmus test of running this code on linux x86 bots worked. However, performance-wise we're not so sure. Back this change out to restrict it to Intel x64 for now. Original change's description: > Add x86 bots to the read64le party > > thestig@ reminds me we do have linux x86 bots on the waterfall. Add them > to the read64le party. Minor: run git cl format over BUILD.gn, and add a > line space here and there for readability. > > Bug: 760853 > Change-Id: Ia47296a26bff77f9be699e31053d8b94aac583f4 > Reviewed-on: https://chromium-review.googlesource.com/910328 > Reviewed-by:
Mike Klein <mtklein@chromium.org> > Commit-Queue: Noel Gordon <noel@chromium.org> > Cr-Commit-Position: refs/heads/master@{#535612} TBR=noel@chromium.org,mtklein@chromium.org,nigeltao@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 760853 Change-Id: If3d24a2cdc6614ff82c781019623108a52dbd16a Reviewed-on: https://chromium-review.googlesource.com/913029 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#536020} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: b7fef3927da4a703c523e7e8916fd8d4c031a402
-