- Feb 11, 2018
-
-
Noel Gordon authored
Patch files are no longer needed per the patch/README guidelines. Bug: 697280 Change-Id: I975a99ac0de50eb7c61a037c458853dc6406ff69 Reviewed-on: https://chromium-review.googlesource.com/912908 Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#536012} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 1dd116fcf2bba4520c2e5603485d95a0141bf51d
-
Noel Gordon authored
Similar to crrev.com/534964, since crc32 can be freely called per the "zlib.h" docs, add comment about zlib crc32 usage conventions viz., calling crc32(0, NULL, 0) before use and how we use that as signal to cache CPU features. Tbr: cavalcantii@chromium.org Bug: 796178 Change-Id: I3c80149ea9c09baeb5a376d54ffeb4e36b12b5ec Reviewed-on: https://chromium-review.googlesource.com/912790 Reviewed-by:
Noel Gordon <noel@chromium.org> Commit-Queue: Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#535991} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: dba46e17d91a2b1c89bbe9272a203d45a0971c75
-
- Feb 10, 2018
-
-
Noel Gordon authored
Bug: 796178 Change-Id: I3850e783f79a70ea13d275875fa77ae35faa06ba Reviewed-on: https://chromium-review.googlesource.com/911228 Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#535949} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 14be760d0e6ebb2d30e9c73bbc0de1a07976f656
-
Noel Gordon authored
Patches are no longer a thing. Remove the patch file for alder32 SIMD change since it mostly touched files that are not part of upstream. One upstream file adler32.c was touched but it has feature guards, so we should be good when merging in any upstream changes. Bug: 762564 Change-Id: Iad8e389667189300fa180755bc2ddc0187138bc0 Reviewed-on: https://chromium-review.googlesource.com/910539 Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#535922} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 9749d6d75c1703adaf154c8bd37c46d13ad4423a
-
Noel Gordon authored
Patch files are no longer needed per the README.chromium guidelines. Bug: 764431 Change-Id: I7cbfb9e51f74a7499697e6ff541bb02e30572c5b Reviewed-on: https://chromium-review.googlesource.com/910870 Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#535919} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: f53ef9e9a51e6b4d16e50ff6533d3761cacb868e
-
- Feb 09, 2018
-
-
Noel Gordon authored
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-Original-Commit-Position: refs/heads/master@{#535612} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: b07c92a12d39e1ac51fe0dab8e4cb98f91f0d213
-
- Feb 08, 2018
-
-
Noel Gordon authored
The chunk-copy code contribution deals with writing decoded DEFLATE data to the output with SIMD methods to increase inflate decode speed. Modern compilers such as gcc/clang/msvc elide the portable memcpy() calls used, replacing them with much faster SIMD machine instructions. Similarly, reading the input data to the DEFLATE decoder with wide, SIMD methods can also increase decode speed. See https://crbug.com/760853#c32 for details; content-encoding: gzip decoding speed improves by 2.17x, in the median over the snappy testdata corpus, when this method is combined with the chunk-copy, and the adler32, and crc32 SIMD contributions (this method improves our current inflate decode speed by 20-30%). Update the chunk-copy code with a wide input data reader, which consumes input in 64-bit (8 byte) chunks. Update inflate_fast_chunk_() to use the wide reader. This feature is supported on little endian machines, and is enabled with the INFLATE_CHUNK_READ_64LE build flag in BUILD.gn on Intel CPU only for now. The wide reader idea is due to nigeltao@chromium.org who did the initial work. This patch is based on his patch [1]. No change in behavior (other than more inflate decode speed), so no new tests. [1] https://chromium-review.googlesource.com/c/chromium/src/+/601694/16 Bug: 760853 Change-Id: Ia806d9a225737039367e1b803624cd59e286ce51 Reviewed-on: https://chromium-review.googlesource.com/900982 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Mike Klein <mtklein@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#535365} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 6e212423a214e0e41794e8c9969c2896e2c33121
-
- Feb 07, 2018
-
-
Noel Gordon authored
Update the chunk copy to use INFLATE_FAST_MIN_{INPUT,OUTPUT} defines. No change in behavior, no new tests. After this change, the patch from crbug.com/764431 (and its .patch file) can be removed, it's not needed anymore TODO(cblume@ on bug 760853). Bug: 760853 Change-Id: I93e4ddf3fd99da472a7571bae7d3b8b6c2efe5b1 Reviewed-on: https://chromium-review.googlesource.com/900885 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Mike Klein <mtklein@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#534998} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 4982484356f4c052358a1e62daadd98ed5e29100
-
Noel Gordon authored
adler32 can be freely called like crc32, per the "zlib.h" docs so move the x86 feature check there, which allows us to remove x86_check_features() from zlib inflate. Note inflate() calls adler32(0, Z_NULL, 0); (once only) before using the zlib adler32() routine. A reading from third_party/libpng png.c 2324: /* Now calculate the adler32 if not done already. */ 2327: adler = adler32(0, NULL, 0); 2328: adler = adler32(adler, profile, length); suggests they also conform to the "zlib.h" doc rules about use of the adler32 routine. Bug: 762564 Change-Id: Id84da0eb52bc10edb541a284eab9aef652ba2c72 Reviewed-on: https://chromium-review.googlesource.com/901043 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Mike Klein <mtklein@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#534964} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: c376937e3709ddef4b97621a58039a21b67faa6e
-
- Feb 06, 2018
-
-
Joshua Pawlicki authored
This prepares for servicification of the unzipping library, where the library will not have direct access to the filesystem. Bug: 792066 Change-Id: I696dd8ef0936f22dc637e078bd8bba565e854ead Reviewed-on: https://chromium-review.googlesource.com/860996 Commit-Queue: Joshua Pawlicki <waffles@chromium.org> Reviewed-by:
Satoru Takabayashi <satorux@chromium.org> Reviewed-by:
Jay Civelli <jcivelli@chromium.org> Reviewed-by:
Ilya Sherman <isherman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#534778} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 5d19ee7988a3f97118f3ff791acf77f3eeed891c
-
Chris Blume authored
The current README is unclear about when a .patch file must be generated and how we intend to isolate our changes from upstream changes. This patch clarifies how someone can contribute to third_party/zlib while minimizing risk of conflicts with upstream changes. BUG=807488 Change-Id: Iaa503b94f110cb83febbdd8d57527d606d3eb779 Reviewed-on: https://chromium-review.googlesource.com/894856 Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Mike Klein <mtklein@chromium.org> Commit-Queue: Chris Blume <cblume@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#534751} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 1511a018f9fecad9c4c873b19156ad74d6c64eee
-
- Feb 05, 2018
-
-
Noel Gordon authored
Longer explaination added on bug, but to better align the x86 SSE crc32 code with NEON (pmull) implementation of same, and to avoid possible confusion, reverse the sense of the fold mask. No change in behavior, no new tests: reserving the sense does not change the value of the computed crc32. Bug: 796178 Change-Id: I35f772ab4df414d6f5f808d92bc7f896528e07ef Reviewed-on: https://chromium-review.googlesource.com/901223 Reviewed-by:
Mike Klein <mtklein@chromium.org> Commit-Queue: Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#534488} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 5fdfc741f157923aa5f10415de243ae1c1f9ba72
-
- Jan 30, 2018
-
-
Noel Gordon authored
zlib calls to crc32() redirect into the other public API function crc32_z(). Move the SSE4.2 crc32 code to crc32_z(), so that users of it also benefit from its SSE4.2 SIMD acceleration. No change in behavior, no new tests. Bug: 796178 Change-Id: I0d80a6ebf9c703dc3d67be1d1f3457ebfcb150bd Reviewed-on: https://chromium-review.googlesource.com/890155 Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#532728} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 5aa815a73c390fc6a3b5cec6ec8e10079a55741a
-
Noel Gordon authored
Having guards, per feature, is unneeded since BUILD.gn handles it for us. Provided the new symbols of any feature code are added to names.h, mangling their symbol names works, regardless of whether we have guards in names.h or not. Remove the guards. No change in behavior, no new tests. Bug: 796178 Change-Id: I9441544f58c5db82ba0e42bf755872c4a0273e46 Reviewed-on: https://chromium-review.googlesource.com/891198 Reviewed-by:
Mike Klein <mtklein@chromium.org> Commit-Queue: Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#532716} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 7f1e10802a20c5dbe737a2261bfcb78cb3baedcf
-
- Jan 23, 2018
-
-
Noel Gordon authored
watk@ suggested off-line that the best way to test for an fstream file failure is to use its operator bool: so use that. Also #include <time.h> is not being used: so ditch it. Bug: 798943 Change-Id: I04fb23c0041da51face99055a2f482ba26bd23ca Reviewed-on: https://chromium-review.googlesource.com/879861 Reviewed-by:
Chris Watkins <watk@chromium.org> Reviewed-by:
Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#531222} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: df50cac817b0e344c35aa3bbb8426cc65816fba9
-
- Jan 21, 2018
-
-
Noel Gordon authored
Add a tool for measuring encode/decode performance of gzip, zlib, and raw data encoded in DEFLATE compressed format. Given a file containing any data, encode (compress) it into gzip, zlib, or raw DEFLATE format (selected from the command line) then decode (uncompress) the DEFLATE data. Verify that the file data and the uncompressed data match. Output the median and maximum encoding and decoding rates in MB/s. Bug: 798943 Change-Id: I6729a8e875452c6656bd16d5c798f5d1f3c12689 Reviewed-on: https://chromium-review.googlesource.com/850652 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Chris Blume <cblume@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#530780} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 875ad5e3c08831f1efa91adade7fc350b1ef45bc
-
- Jan 11, 2018
-
-
Daniel Bratell authored
zlib.h includes a macro that renames read_buf->Cr_z_read_buf. Since read_buf is a common name in other parts of the code, it causes some random confusion depending on whether zlib.h has been included or not. The renaming macro is a side effect of the 0001-simd.patch that exposes an internal read_buf method to other files in zlib. This patch renames read_buf as it is exposed so that it has the less common name deflate_read_buf. Bug: 799448 Change-Id: Icdc4eba973891dfd28d82017415048eded62d577 Reviewed-on: https://chromium-review.googlesource.com/852257 Commit-Queue: Daniel Bratell <bratell@opera.com> Reviewed-by:
Chris Blume <cblume@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#528512} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 2c709d38a1c6f812da205c03f5448fe4ac5679f3
-
- Jan 04, 2018
-
-
Noel Gordon authored
Using an SSE4.2-based crc32 improves the decoding rate of the PNG 140 corpus by 4% average, giving a total 40% performance increase when combined with adler32 SIMD code and inflate chunk copy code, see https://crbug.com/796178#c2 for details. Raw crc32 speed is 5x - 25x faster than the zlib default "BYFOUR" crc32, and gzip- and zlib-wrapped inflate performance improves by 69% and 50% for the snappy corpus (https://crbug.com/796178#c3 #4 for details). Add crc32 SIMD implementation and update the call-site in crc32.c to use the new crc32 code, using run-time detection of the SSE4.2 and PCLMUL support required by the crc32 SIMD code. Update BUILD.gn to compile the crc32 SIMD code for Intel devices, also update names.h with the new symbol defined by the crc32 SIMD code path. Bug: 796178 Change-Id: I1bb94b47c9a4934eed01ba3d4feda51d67c4bf85 Reviewed-on: https://chromium-review.googlesource.com/833820 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Chris Blume <cblume@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#526935} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 65e2abcb74b1c07fa14f46abaa1fb1717892eec3
-
- Dec 20, 2017
-
-
Noel Gordon authored
Comparison of a pointer difference to a size_t cause the compiler to whine about the different signs: 'long' and 'unsigned long' in this case. Fix that by using ptrdff_t for these comparisons. No change in behavior, no new tests. Tbr: mtklein@chromium.org Bug: 796470 Change-Id: Ie585ba45f1e09f31f7d4cf48c41f2378a1b0808b Reviewed-on: https://chromium-review.googlesource.com/836291 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Sam McNally <sammc@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#525312} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: f15491d8649d1fc27ae2d0d832c9bb6813b04ea0
-
Noel Gordon authored
MSVC noted the unsigned |n| = size_t |blocks| could be a possible loss in precision. No loss in precision occurs since (n > blocks) at this point: |blocks| fits in an unsigned type. To silence compiler warnings, first update BUILD.gn for the adler SIMD code to use chromium compiler:chromium_code rule (more error checking), rather than the permissive "compiler:no_chromium_code" rule. Then cast |blocks| to unsigned on assigment to |n| (this is safe to do as mentioned above). No change in behavior, no new tests. Tbr: cblume@chromium.org Bug: 762564 Change-Id: Ia97120bcca206287fd42b97674f8a6215283e4a5 Reviewed-on: https://chromium-review.googlesource.com/835927 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Sam McNally <sammc@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#525285} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0cb9a22e2fb55e092342192d66f7e33c14432d27
-
- Dec 13, 2017
-
-
Noel Gordon authored
Speculative fix: back off from using -O3 on Android for the inflate chunk copy code to see if -O3 caused the perf bot regression on the Android One bot, http://bit.ly/2AfaxhG Bug: 772870 Change-Id: I06bd941224dacbc5d7024a65934faaa53e4a4ce5 Reviewed-on: https://chromium-review.googlesource.com/823503 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Mike Klein <mtklein@chromium.org> Reviewed-by:
Chris Blume <cblume@chromium.org> Reviewed-by:
Noel Gordon <noel@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#523679} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 53edf03e13a1569f146f136c9e43bc6e476bf33e
-
- Dec 12, 2017
-
-
Lei Zhang authored
Change-Id: I69bbbfa9d4c317a522a39e097b478d0f80e61fad Reviewed-on: https://chromium-review.googlesource.com/818606 Reviewed-by:
Scott Graham <scottmg@chromium.org> Reviewed-by:
Chris Blume <cblume@chromium.org> Reviewed-by:
Max Moroz <mmoroz@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#523273} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 1295fa76d2e7c8efc134219dde4a55fc0630f0cb
-
- Dec 08, 2017
-
-
Noel Gordon authored
Using SSE2 chunk copies improves the decoding rate of the PNG 140 corpus by an average 17%, giving a total 37% performance increase when combined with SIMD adler32 code (https://crbug.com/772870#c3 for details). Move the arm-specific code back into the main chunk copy code and generalize the SIMD parts of chunkset_core() with inline function calls for ARM, and Intel SSE2 devices. This removes the TODO from arm/chunkcopy_arm.h, and that file can be deleted as a result. Add SSE2 vector load / store SSE helpers for chunkset_core(). The existing NEON load code had alignment issues, as noted in review. Fix that: use unaligned loads in the ARM helper code. Change chunkcopy.h to use __builtin_memcpy if it's available, use zmemcpy otherwise such as on MSVC. Also call x86_check_features() in inflateInit2_() to keep the adler32 SIMD code path enabled. Update BUILD.gn to conditionally compile the SIMD chunk copy code on Intel SSE2 and ARM NEON devices. Update names.h to add the new symbol defined by the inflate chunk copy code path. Code had various comment styles; pick one and use it consistently everywhere. Add inffast_chunk.h TODO(cblume). Bug: 772870 Change-Id: I47004c68ee675acf418825fb0e1f8fa8018d4342 Reviewed-on: https://chromium-review.googlesource.com/708834 Commit-Queue: Noel Gordon <noel@chromium.org> Reviewed-by:
Chris Blume <cblume@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#522764} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: c293a3255eb27dee8879f85f2c45dedff58e2452
-
- Nov 30, 2017
-
-
Boris Sazonov authored
This reverts commit 35988c821c051a57e30c76f9fcd87b7b677bd9bd. Reason for revert: broke build ('cpu-features.h' not found) https://uberchromegw.corp.google.com/i/internal.client.clank/builders/x64-builder/builds/13697 Original change's description: > Using ARMv8 CRC32 specific instruction > > CRC32 affects performance for both image decompression (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 ARMv8. This instruction is available > in new Android devices featuring an ARMv8 SoC, like Nexus 5x and > Google Pixel. > > It should be between 6x (A53: 116ms X 22ms for a 4Kx4Kx4 buffer) to > 10x faster (A72: 91ms x 9ms) than the C implementation currently used > by zlib. > > PNG decoding performance gains should be around 5-9%. > > Finally it also introduces code to perform the ARM CPU features detection > using getauxval()@Linux/CrOS or android_getCpuFeatures(). We pre-built > and link the CRC32 instruction dependent code but will decide if to > use it at run time. > > If the feature is not supported, we fallback to the C implementation. > > This approach allows to use the instruction in both 32bits and 64bits > builds and works fine either in ARMv7 or ARMv8 processor. I tested the > generated Chromium apk in both a ARMv7 (Nexus 4 and 6) and ARMv8 (Nexus 5x and > Google Pixel). > > Change-Id: I069408ebc06c49a3c2be4ba3253319e025ee09d7 > Bug: 709716 > Reviewed-on: https://chromium-review.googlesource.com/612629 > Reviewed-by:
Chris Blume <cblume@chromium.org> > Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> > Cr-Commit-Position: refs/heads/master@{#520377} TBR=agl@chromium.org,noel@chromium.org,cavalcantii@chromium.org,cblume@chromium.org,mtklein@chromium.org,adenilson.cavalcanti@arm.com Change-Id: Ief2c32df5c8a37635f937cd6a671f5574f5a53a3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 709716 Reviewed-on: https://chromium-review.googlesource.com/799930 Reviewed-by:
Chris Blume <cblume@chromium.org> Reviewed-by:
Boris Sazonov <bsazonov@chromium.org> Commit-Queue: Boris Sazonov <bsazonov@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#520497} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: e7d9a4649bde6f047105d29f0026dd8c3d54143a
-
Adenilson Cavalcanti authored
CRC32 affects performance for both image decompression (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 ARMv8. This instruction is available in new Android devices featuring an ARMv8 SoC, like Nexus 5x and Google Pixel. It should be between 6x (A53: 116ms X 22ms for a 4Kx4Kx4 buffer) to 10x faster (A72: 91ms x 9ms) than the C implementation currently used by zlib. PNG decoding performance gains should be around 5-9%. Finally it also introduces code to perform the ARM CPU features detection using getauxval()@Linux/CrOS or android_getCpuFeatures(). We pre-built and link the CRC32 instruction dependent code but will decide if to use it at run time. If the feature is not supported, we fallback to the C implementation. This approach allows to use the instruction in both 32bits and 64bits builds and works fine either in ARMv7 or ARMv8 processor. I tested the generated Chromium apk in both a ARMv7 (Nexus 4 and 6) and ARMv8 (Nexus 5x and Google Pixel). Change-Id: I069408ebc06c49a3c2be4ba3253319e025ee09d7 Bug: 709716 Reviewed-on: https://chromium-review.googlesource.com/612629 Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#520377} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 35988c821c051a57e30c76f9fcd87b7b677bd9bd
-
- Nov 15, 2017
-
-
Chris Blume authored
A call to deflateSetDictionary() must happen immediately after a call to deflateInit(). The zlib_deflate_set_dictionary_fuzzer is currently not calling deflateInit() and thus the stream it wants to use is uninitialized. This patch fixes this by initializing the stream. Bug: 784148 Change-Id: I0bd726201bdf495fbf66bee9e763ca1baaf57ac6 Reviewed-on: https://chromium-review.googlesource.com/769155 Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Max Moroz <mmoroz@chromium.org> Commit-Queue: Max Moroz <mmoroz@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#516870} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: e69e4be87ec5639196a20ed99b2b3335f0fdc21e
-
- Nov 13, 2017
-
-
Chris Blume authored
zlib's deflate requires non-zero length inputs. As a result, the deflate fuzzer was asserting on the error value indicating an invalid input when the fuzzer provided a zero-length input. This change will exit early when the input is zero-length so it matches the precondition required for deflate. BUG=784148 Change-Id: I12558bb47c4bc5e5147d07707fe01a0e8feb314b Reviewed-on: https://chromium-review.googlesource.com/766474 Commit-Queue: Chris Blume <cblume@chromium.org> Reviewed-by:
Max Moroz <mmoroz@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#516048} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0df464cb0780e6cd6ee6e6ad8a1718b5747efc19
-
- Nov 10, 2017
-
-
Chris Blume authored
zlib_inflate_fuzzer currently asserts when the call to inflate() fails. However, invalid inputs are expected in fuzz testing. So inflate() failing is an expected case here. Remove the assert on inflate() succeeding. BUG=780898 Change-Id: If62bff55f31a67d2fefa4e780f283f97f88f7707 Reviewed-on: https://chromium-review.googlesource.com/753133 Commit-Queue: Max Moroz <mmoroz@chromium.org> Reviewed-by:
Max Moroz <mmoroz@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#515383} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 47f7d7eb2c2c3e313b3423786802f6372e4891a5
-
- Nov 04, 2017
-
-
Chris Blume authored
We want to cover all of zlib's external APIs. deflate() currently isn't covered. BUG=779648 Change-Id: I1d1ea523aa6caa2e468b9641dbf7f32c54724f38 Reviewed-on: https://chromium-review.googlesource.com/744330 Commit-Queue: Chris Blume <cblume@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Max Moroz <mmoroz@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#514045} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 66ca64074454e98829343bb2156b07958570b722
-
- Nov 03, 2017
-
-
Chris Blume authored
We want to cover all of zlib's external APIs. deflateSetDictionary() currently isn't covered. BUG=780926 Change-Id: Ie2da648a4d58fca0745c814b004d3859e81a85a6 Reviewed-on: https://chromium-review.googlesource.com/752070 Reviewed-by:
Max Moroz <mmoroz@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: Chris Blume <cblume@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#513917} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 425d4cd82b3cdee276acf851d46d3eaf7662946a
-
Adenilson Cavalcanti authored
This handles the case where a zlib user could rely on InflateBack API to decompress content. The NEON optimization assumes that it can perform wide stores, sometimes overwriting data on the output pointer (but never overflowing the buffer end as it has enough room for the write). For infback there is no such guarantees (i.e. no extra wiggle room), which can result in illegal operations. This patch fixes the potential issue by falling back to the non-optimized code for such cases. Also it adds some comments about the entry assumptions in inflate and writes out a defined value at the write buffer to identify where the real data has ended (helpful while debugging). Bug: 769880 Change-Id: I08130e4d012e55fb1a114394b88df7e9d8a6542f Reviewed-on: https://chromium-review.googlesource.com/749732 Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#513830} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0bb11040792edc5b28fcb710fc4c01fedd98c97c
-
- Nov 02, 2017
-
-
Chris Blume authored
Now that zlib_uncompress_fuzzer.cc is under the zlib directory, that "zlib_" in the file name is no longer useful. Rename it to remove that and be more concise. BUG=779823 Change-Id: I8169fae4ff81c86b162c1978bcc288a970eb6eb4 Reviewed-on: https://chromium-review.googlesource.com/750190 Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Max Moroz <mmoroz@chromium.org> Commit-Queue: Chris Blume <cblume@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#513389} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: e08208b15fc3c0b30c9adcab19c79a6746f68f8d
-
Chris Blume authored
We want to cover all of zlib's external APIs. inflate() currently isn't covered. BUG=779676 Change-Id: Ic8ea52f189a9870ea643d8d720a8e49f79f85422 Reviewed-on: https://chromium-review.googlesource.com/744338 Commit-Queue: Chris Blume <cblume@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Max Moroz <mmoroz@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#513374} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 1d1fe9219bcd06691028d3f84ac35a2d76b3f3b5
-
- Oct 31, 2017
-
-
Chris Blume authored
Zlib's fuzzer (and other tests) should all be close to the code it is related to. Move zlib_uncompress_fuzzer into third_party/zlib. BUG=779823 Change-Id: I960561b5cd83a629e9d296f56c75c7bfcec2663a Reviewed-on: https://chromium-review.googlesource.com/744597 Reviewed-by:
Max Moroz <mmoroz@chromium.org> Reviewed-by:
Adenilson Cavalcanti <cavalcantii@chromium.org> Commit-Queue: Chris Blume <cblume@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#512992} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 616f37bac71ba5ab23773f49989298d24cc2e136
-
- Oct 30, 2017
-
-
Adenilson Cavalcanti authored
The NEON specific code will be hosted in the folder 'contrib/optimizations/arm' while the platform independent C code is hosted in the upper directory. This allows to easily implement the inffast optimization for other architectures by simply implementing 2 functions and including the necessary header in chunk_copy.h (that is used by inflate and inffast). The idea is with time to move all optimizations to this new folder. Bug: 769880 Change-Id: I404ec0fdf3f6867c9c124da859ca38bf57b25447 Reviewed-on: https://chromium-review.googlesource.com/740907 Reviewed-by:
Chris Blume <cblume@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#512542} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 626df311481f7fac07b58799fbc94e09c848f01d
-
- Oct 18, 2017
-
-
Jay Civelli authored
When using zip::Zip() with an IPC based FileAccessor, zipping directories with large number of files triggers many IPC calls making the entire operation significantly slower than with direct file access. In order to alleviate this performance hit, this patch groups file reads by modifying the FileAccessor read method so it reads multiple files at once. zip::Zip() can then group these reads when writing the ZIP file. The writing code has been factored out into a new ZipWriter class to make that code more readable. Bug: 773310 Change-Id: I8121980bf05d87a174c63164840ec6bf325c7e52 Reviewed-on: https://chromium-review.googlesource.com/719356 Commit-Queue: Jay Civelli <jcivelli@chromium.org> Reviewed-by:
Ilya Sherman <isherman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#509693} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: d0cb5e408404d652492171bbed9c8ecd3d44a9aa
-
- Oct 13, 2017
-
-
Jay Civelli authored
This reverts commit adb61db19020ed8ecee5e91b1a0ea4c924ae2988. Fixed the ZipTest.ZipWithFileAccessor test. Bug: 772815 Tbr: isherman Change-Id: Iffc8e0ec07c590b69fc025bc35c6fe2db1236858 Reviewed-on: https://chromium-review.googlesource.com/718079 Reviewed-by:
Jay Civelli <jcivelli@chromium.org> Commit-Queue: Jay Civelli <jcivelli@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#508720} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 602af595579fe7cc51fe2434c3e35ecebbc2a3c4
-
Jay Civelli authored
This reverts commit 513d84a6fa9942743df99c46c33ea5c863a220d4. Reason for revert: it breaks the unit-tests. Original change's description: > Relanding "Abstrating file access operation in zip creation." > > Disabled the added conditions that caused the tests to fail (only on the > build bots) and added logs for investigation. > > Bug: 772815 > Tbr: isherman > Change-Id: I1f20bfe40288b6822397d469863deb643a93b17d > Reviewed-on: https://chromium-review.googlesource.com/716597 > Commit-Queue: Jay Civelli <jcivelli@chromium.org> > Reviewed-by:
Jay Civelli <jcivelli@chromium.org> > Reviewed-by:
Ilya Sherman <isherman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#508539} TBR=jcivelli@chromium.org,isherman@chromium.org Change-Id: Ife1a2ebe47b29b4231125aef4058c489d254baf4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 772815 Reviewed-on: https://chromium-review.googlesource.com/717737 Reviewed-by:
Jay Civelli <jcivelli@chromium.org> Commit-Queue: Jay Civelli <jcivelli@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#508578} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: adb61db19020ed8ecee5e91b1a0ea4c924ae2988
-
- Oct 12, 2017
-
-
Jay Civelli authored
Disabled the added conditions that caused the tests to fail (only on the build bots) and added logs for investigation. Bug: 772815 Tbr: isherman Change-Id: I1f20bfe40288b6822397d469863deb643a93b17d Reviewed-on: https://chromium-review.googlesource.com/716597 Commit-Queue: Jay Civelli <jcivelli@chromium.org> Reviewed-by:
Jay Civelli <jcivelli@chromium.org> Reviewed-by:
Ilya Sherman <isherman@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#508539} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 513d84a6fa9942743df99c46c33ea5c863a220d4
-
Keishi Hattori authored
This reverts commit 91ac47fceb859a3804b38ec4f3befcef0f29b019. Reason for revert: Failing unit_tests ZipTest.UnzipUncompressed and others crbug.com/773963 Original change's description: > Abstrating file access operation in zip creation. > > Abstracting file access operations when creating ZIP files. This is > going to be useful when ZIP operations are done by a Mojo service in a > sandboxed environment and can only access files through IPC. > > In order to make the API cleaner, introduced a parameter class that > lets caller specify which options to use. > > Bug: 772815 > Change-Id: I229291a0c37bfee8fd29fe894a8118c91afab074 > Reviewed-on: https://chromium-review.googlesource.com/706282 > Commit-Queue: Jay Civelli <jcivelli@chromium.org> > Reviewed-by:
Ilya Sherman <isherman@chromium.org> > Reviewed-by:
Chris Blume <cblume@chromium.org> > Cr-Commit-Position: refs/heads/master@{#508233} TBR=jcivelli@chromium.org,isherman@chromium.org,satorux@chromium.org,cblume@chromium.org Change-Id: I91fb4aa3b5920eac88e1ba6900a441961117c632 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 772815 Reviewed-on: https://chromium-review.googlesource.com/715036 Reviewed-by:
Keishi Hattori <keishi@chromium.org> Commit-Queue: Keishi Hattori <keishi@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#508256} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: b092fa9950a914b79d01ad59e6ec3f9c8e18b0db
-