Age | Commit message (Collapse) | Author |
|
Change-Id: I729a87356fd5dec2dae8002a0d726931056b44c4
|
|
Change-Id: Ia54ebfbae4ed71d86d6b0c932ccfc5a1a380557f
|
|
Change-Id: I40e6c6bdfb8d82d41ac518fc605e729473966ff3
|
|
am: 3b3f8457d0
Change-Id: Iecc3503a5695dda401e1a2a4ef0e68116398b092
|
|
|
|
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
|
|
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
|
|
Due to its history, zlib has to support building for environments
without access to basic C functions (e.g. memcpy, memset, etc) or in
environments with odd memory management patterns (e.g. MSDOS).
Therefore, it is good form to use zmemset/zmemcpy/etc for handling
memory and the same applies for initializing a memory block to zero.
Bug: 1032721
Change-Id: I8d898872ca00197cc7e961d7c49e1912073895c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2016772
Reviewed-by: Chris Blume <cblume@chromium.org>
Reviewed-by: vikas soni <vikassoni@chromium.org>
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#734686}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bcdbc75cd3f832ad0527a00f5bf56aa437abf1f6
|
|
Fix use of uninitialized memory reported by oss-fuzz
(and confirmed by valgrind@aarch64) by properly setting deflate_state
internal member (i.e. s->prev) to a valid value before use.
For details, see:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11360
Bug: 1032721
Change-Id: I6c7b2e87e81b8ccc6c39298fd3c704befd797b96
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2015667
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Reviewed-by: Chris Blume <cblume@chromium.org>
Reviewed-by: vikas soni <vikassoni@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#734278}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2d43e0d3369904d881e8519a69481226bba3394c
|
|
Test: pass
Bug: 147347110
Change-Id: I212f604f83d4fafc6053028ae90b21b0a5bcf274
|
|
Change-Id: I1c824f48e13eb46b5d9f7d73f1591c9367ae72c2
|
|
8dda271246 am: fb0bd5710c am: 29d63d4417
Change-Id: I80538d6e157d99a4c4c2ee926721596633131646
|
|
8dda271246 am: fb0bd5710c
Change-Id: Ifa5951b5d94e533d3709dd69a95bdf4012c3ab3c
|
|
am: 8dda271246
Change-Id: I85e8274171fcd4dd5291567bf2e848e8aebbd819
|
|
|
|
This reverts commit f026d93d15e62bed8c2ae419a91ad9ee40ee7401.
Reason for revert: breaks NDK builds by assuming Neon.
Bug: http://b/147822878
Change-Id: I51d46aa15eebc7c9eba42a02c77c326fc982412e
|
|
99f98798a6 am: 2fe80c6629
Change-Id: Ie09d396172c8e22bd017fd526b4117c1635575ac
|
|
99f98798a6
Change-Id: Ieba98f97ffa938abaa3b14da561069468526d054
|
|
am: a9da32b4ff
Change-Id: If16329e5bc0e75ff582aa563ec4806c7c6674c42
|
|
|
|
This is for arm/arm64 only, because there are test failures for
x86/x86-64 that we haven't understood yet.
Bug: https://issuetracker.google.com/115695768
Bug: https://issuetracker.google.com/135889247
Bug: http://b/135038583
Test: boots
Test: zlib_bench scores 2x or more faster on arm/arm64
Change-Id: I1f991cb71338bc99885edbebc964f2ad3b14234a
|
|
`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.
This CL was uploaded by git cl split.
R=isherman@chromium.org
Bug: 1041419
Change-Id: I91a90114ecefd7dc850abbc9f57811bd46432cdc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1998796
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#731398}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1f34a393281949df92a353b738d45370e78e1413
|
|
`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.
This CL was uploaded by git cl split.
R=cblume@chromium.org
Bug: 1041419
Change-Id: I7c5f71a3369485a78c6e7ba9490f893e15b65c9c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1997933
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Chris Blume <cblume@chromium.org>
Commit-Queue: Chris Blume <cblume@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#730634}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c90cfb0e58f67880aaea2d170c3c5bc8a50f6caa
|
|
Change-Id: Idcf6b20dfaca7d5d3661a1ed045aa0a44e6f0d22
|
|
457c92b855 am: 9db9402ccd am: 6833898932
Change-Id: I6dd5be6a5c7e3b89d474aab33b8f17a3a9048f07
|
|
457c92b855 am: 9db9402ccd
Change-Id: I31f924658cfcfc3ffb9eb92a75d941be75397528
|
|
am: 457c92b855
Change-Id: I4266d1bb73f697b525158bfefdfec3453ddf796c
|
|
|
|
Test: None
Change-Id: I96acd457d55ed8fbce25f328a7dc43e7cd83a8d4
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Change-Id: If61c1663c07303eb0e560150ce35e6ba261a94f7
|
|
73131478df am: 889a077ed1 am: e28c6e4431
Change-Id: I52be68a5e932620f6deb3ba091f7f27efb9c3e88
|
|
b977766d18 am: 3c2bfd24f9
Change-Id: I10d845e158ace1baf195fc1ed2ce89db0e258a02
|
|
73131478df am: 889a077ed1
Change-Id: Id9694440a6774129b497bb3323bd98a52e95d509
|
|
b977766d18
Change-Id: Icd2ad376e703ec1ebbd81f0431d5595ab9795c28
|
|
am: 73131478df
Change-Id: Id45e729e25d7f3baa863dc080b05694f16187886
|
|
am: 4d68cbe186
Change-Id: I4c2783372b07523fc84b4200132a3773b8e273ba
|
|
|
|
Test: None
Exempt-From-Owner-Approval: Upgrade library
Change-Id: I1f1e1cb95d391f53e9c3941e332abb6b5867c40f
|
|
|
|
Exempt-From-Owner-Approval: recursion: see recursion.
Change-Id: I99474a2ba24492486fe5366d68a7e75437e0507d
|
|
It seems that some years ago clang@Windows didn't have the
proper intrinsic required, which prompted the use of inline
ASM.
It has a side effect in that it will allow compilation of the
optimized function within the same compilation unit while using regular
compiler flags (i.e. 'crc32' instruction on x86 requires some special
compiler flags).
Main issue is that inline ASM is blocked on dependencies (e.g. 'base')
that will be linked to NaCl.
The main idea here is to allow the whole Chromium code base to use the
highly optimized checksums in zlib (e.g. crc32 and Adler-32), exported
through an interface (i.e. base::Crc32()).
This patch fixes this issue by removing the use of inline ASM.
The workaround is to use clang/gcc 'target attributes' to instruct the
backend to use different code generation options for the optimized
function, see:
https://clang.llvm.org/docs/AttributeReference.html#target
NOTE: While testing on my personal Windows PC, VS2019 including
smmintrin.h was insufficient. I needed to explicitly include either
immintrin.h or nmmintrin.h. I expected I would need that, but it seems
to be working with just smmintrin.h.
Bug: 902789
Change-Id: Id692fb839e20b26f9ba8b45538e652d5b140cd36
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1941688
Commit-Queue: Chris Blume <cblume@chromium.org>
Reviewed-by: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#721425}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1cebcd57bc3d09c39783395e6b173ff1f358a91b
|
|
This reverts commit ea6b9281bbf3ca08ccef8f5266f88de6f56c5ff6.
Reason for revert: It turns out the V8 team needs the MSVC build. :)
I tried installing the Clang compiler as part of Visual Studio 2017 and 2019 but neither of them became options in the toolchain. I'll need to spend more time figuring out how to get Clang on Windows.
Original change's description:
> Remove use of inline ASM in insert_string_sse
>
> It seems that some years ago clang@Windows didn't have the
> proper intrinsic required, which prompted the use of inline
> ASM.
>
> It has a side effect in that it will allow compilation of the
> optimized function within the same compilation unit while using regular
> compiler flags (i.e. 'crc32' instruction on x86 requires some special
> compiler flags).
>
> Main issue is that inline ASM is blocked on dependencies (e.g. 'base')
> that will be linked to NaCl.
>
> The main idea here is to allow the whole Chromium code base to use the
> highly optimized checksums in zlib (e.g. crc32 and Adler-32), exported
> through an interface (i.e. base::Crc32()).
>
> This patch fixes this issue by removing the use of inline ASM.
>
> The workaround is to use clang/gcc 'target attributes' to instruct the
> backend to use different code generation options for the optimized
> function, see:
> https://clang.llvm.org/docs/AttributeReference.html#target
>
> Bug: 902789
> Change-Id: I0d139268aefb8335310c0e3f6533006be9af6470
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1931272
> Reviewed-by: Adenilson Cavalcanti <cavalcantii@chromium.org>
> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#718788}
TBR=cavalcantii@chromium.org,cblume@chromium.org,mtklein@chromium.org,adenilson.cavalcanti@arm.com
Change-Id: I6b3fcce10197121b548300855710e99f7048f1ae
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 902789
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1936189
Reviewed-by: Chris Blume <cblume@chromium.org>
Commit-Queue: Chris Blume <cblume@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#719105}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 80c2a793b4ba20d9638fbdd030a1687dc26242a3
|
|
It seems that some years ago clang@Windows didn't have the
proper intrinsic required, which prompted the use of inline
ASM.
It has a side effect in that it will allow compilation of the
optimized function within the same compilation unit while using regular
compiler flags (i.e. 'crc32' instruction on x86 requires some special
compiler flags).
Main issue is that inline ASM is blocked on dependencies (e.g. 'base')
that will be linked to NaCl.
The main idea here is to allow the whole Chromium code base to use the
highly optimized checksums in zlib (e.g. crc32 and Adler-32), exported
through an interface (i.e. base::Crc32()).
This patch fixes this issue by removing the use of inline ASM.
The workaround is to use clang/gcc 'target attributes' to instruct the
backend to use different code generation options for the optimized
function, see:
https://clang.llvm.org/docs/AttributeReference.html#target
Bug: 902789
Change-Id: I0d139268aefb8335310c0e3f6533006be9af6470
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1931272
Reviewed-by: Adenilson Cavalcanti <cavalcantii@chromium.org>
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#718788}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ea6b9281bbf3ca08ccef8f5266f88de6f56c5ff6
|
|
While investigating the use of RAW mode, I noticed that it was *slower*
for compression than GZIP or ZLIB wrapper formats, which didn't make
sense (i.e. we don't calculate a data integrity check using RAW mode).
It turns out that the code was falling back to the portable implementation
of insert_string(), instead of using the optimized version that rely on 'crc32w'
as a hash function.
The reason is that CPU features detection is not triggered while using
RAW mode (i.e. we never call crc32() with a NULL buffer).
This patch fixes this issue ensuring that RAW mode is going to be faster
for both compression/decompression than either ZLIB or GZIP formats.
Bug: 833361
Change-Id: I285297f67ffc0114700ed03c2186ad21aab8b40e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1929634
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@{#717877}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 171a0a69eb5d70f8a9f44000e26bc7dc65f1fd97
|
|
Allow users to set the compression level while using CompressHelper().
There is a 2x to 4x compression speed difference between levels [1..9], where
it is possible to trade speed for better compression ratios
(and vice-versa).
It is up the user to experiment with the data to find the sweet spot
for its application (default compression level is 6).
Bug: 833361
Change-Id: Ia710cc7322707ace242133b283610eaa48def31f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1912791
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Commit-Queue: Sam Maier <smaier@chromium.org>
Auto-Submit: Sam Maier <smaier@chromium.org>
Reviewed-by: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#715455}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3857767142ed56b1ec44a8cdda52472e1b357cc3
|
|
Change-Id: Icdcc58940a0b09e514f3c9c22f428cf10e4689d7
|