Skip to content
Snippets Groups Projects
  1. Aug 17, 2018
  2. Aug 15, 2018
  3. Aug 07, 2018
  4. Jan 11, 2018
    • Daniel Bratell's avatar
      Avoid exporting read_buf renaming from zlib · 2eb38892
      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: default avatarChris 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
      2eb38892
  5. Nov 30, 2017
    • Boris Sazonov's avatar
      Revert "Using ARMv8 CRC32 specific instruction" · 0f473a1d
      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: default avatarChris 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: default avatarChris Blume <cblume@chromium.org>
      Reviewed-by: default avatarBoris 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
      0f473a1d
    • Adenilson Cavalcanti's avatar
      Using ARMv8 CRC32 specific instruction · d7601c23
      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: default avatarChris 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
      d7601c23
  6. Feb 15, 2017
    • mark's avatar
      Update zlib to 1.2.11 · 13dc246a
      mark authored
      Reapply and regenerate all local patches to upstream zlib 1.2.11
      
      Explicitly specify 9 as the minimum windowBits value (representing a
      512-byte window) during compression in net/websockets even when 8
      (representing 256) is received. This was previously silently done during
      compression. Because of how zlib's deflate is implemented, when
      windowBits is 9, it will produce a stream that can be decompressed with
      a 250-byte or larger window.
      
      Changes in 1.2.9 (31 Dec 2016)
      - Fix contrib/minizip to permit unzipping with desktop API [Zouzou]
      - Improve contrib/blast to return unused bytes
      - Assure that gzoffset() is correct when appending
      - Improve compress() and uncompress() to support large lengths
      - Fix bug in test/example.c where error code not saved
      - Remedy Coverity warning [Randers-Pehrson]
      - Improve speed of gzprintf() in transparent mode
      - Fix inflateInit2() bug when windowBits is 16 or 32
      - Change DEBUG macro to ZLIB_DEBUG
      - Avoid uninitialized access by gzclose_w()
      - Allow building zlib outside of the source directory
      - Fix bug that accepted invalid zlib header when windowBits is zero
      - Fix gzseek() problem on MinGW due to buggy _lseeki64 there
      - Loop on write() calls in gzwrite.c in case of non-blocking I/O
      - Add --warn (-w) option to ./configure for more compiler warnings
      - Reject a window size of 256 bytes if not using the zlib wrapper
      - Fix bug when level 0 used with Z_HUFFMAN or Z_RLE
      - Add --debug (-d) option to ./configure to define ZLIB_DEBUG
      - Fix bugs in creating a very large gzip header
      - Add uncompress2() function, which returns the input size used
      - Assure that deflateParams() will not switch functions mid-block
      - Dramatically speed up deflation for level 0 (storing)
      - Add gzfread(), duplicating the interface of fread()
      - Add gzfwrite(), duplicating the interface of fwrite()
      - Add deflateGetDictionary() function
      - Use snprintf() for later versions of Microsoft C
      - Fix *Init macros to use z_ prefix when requested
      - Replace as400 with os400 for OS/400 support [Monnerat]
      - Add crc32_z() and adler32_z() functions with size_t lengths
      - Update Visual Studio project files [AraHaan]
      
      Changes in 1.2.10 (2 Jan 2017)
      - Avoid warnings on snprintf() return value
      - Fix bug in deflate_stored() for zero-length input
      - Fix bug in gzwrite.c that produced corrupt gzip files
      - Remove files to be installed before copying them in Makefile.in
      - Add warnings when compiling with assembler code
      
      Changes in 1.2.11 (15 Jan 2017)
      - Fix deflate stored bug when pulling last block from window
      - Permit immediate deflateParams changes before any deflate input
      
      BUG=691074, 691075
      
      Review-Url: https://codereview.chromium.org/2690623003
      Cr-Original-Commit-Position: refs/heads/master@{#450585}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: 6d9a6251dfe87183075dc16cfa134e41dc4cee0d
      13dc246a
  7. Feb 02, 2017
  8. Jun 23, 2016
    • jiadong.zhu's avatar
      Update Zlib to version 1.2.8 · 6c142166
      jiadong.zhu authored
      merge the latest open source zlib into chromium external projects
      Version 1.2.8 fixes a very rare bug in decompression. All users are encouraged to upgrade immediately. Version 1.2.8 also has these improvements:
      - Add new inflateGetDictionary() function
      - Fix bug where gzopen() immediately followed by gzclose() would write an empty file instead of an empty gzip stream.
      - Fix bug in gzclose() when gzwrite() runs out of memory Version 1.2.7 has many portability improvements over 1.2.6, and has these enhancements:
      - Fix bug in gzclose_w() when gzwrite() fails to allocate memory
      - Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen()
      - Add gzopen_w() in Windows for wide character path names
      - Fix type mismatch between get_crc_table() and crc_table Version 1.2.6 has many changes over 1.2.5, including these improvements:
      - gzread() can now read a file that is being written concurrently
      - gzgetc() is now a macro for increased speed
      - Added a 'T' option to gzopen() for transparent writing (no compression)
      - Added deflatePending() to return the amount of pending output
      - Allow deflateSetDictionary() and inflateSetDictionary() at any time in raw mode
      - deflatePrime() can now insert bits in the middle of the stream
      - ./configure now creates a configure.log file with all of the results
      - Added a ./configure --solo option to compile zlib with no dependency on any libraries
      - Fixed a problem with large file support macros
      - Fixed a bug in contrib/puff
      - Many portability improvements
      
      BUG=610615 R=gavinp@chromium.org
      
      Review-Url: https://codereview.chromium.org/2084863002
      Cr-Original-Commit-Position: refs/heads/master@{#401538}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: ca1c569cff20aa43a42816791744d847c7d788de
      6c142166
  9. Jun 20, 2016
    • jmadill's avatar
      Revert of Update Zlib to version 1.2.8 (patchset #10 id:220001 of... · bf2aebea
      jmadill authored
      Revert of Update Zlib to version 1.2.8 (patchset #10 id:220001 of https://codereview.chromium.org/1955383002/ )
      
      Reason for revert:
      Broke the Windows Debug GPU FYI builder:
      
      https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder%20%28dbg%29/builds/41421
      
      fx_zlib.gzlib.obj : error LNK2005: _gzopen_w already defined in zlib.gzlib.obj
      
      initial\chrome.dll : fatal error LNK1169: one or more multiply defined symbols found
      
      Possibly because they use shared components with a GYP build.
      
      Original issue's description:
      > Update Zlib to version 1.2.8
      >
      > merge the latest open source zlib into chromium external projects
      >
      >  Version 1.2.8 fixes a very rare bug in decompression. All users are encouraged to upgrade immediately. Version 1.2.8 also has these improvements:
      >     - Add new inflateGetDictionary() function
      >     - Fix bug where gzopen() immediately followed by gzclose() would write an empty file instead of an empty gzip stream.
      >     - Fix bug in gzclose() when gzwrite() runs out of memory
      >     Version 1.2.7 has many portability improvements over 1.2.6, and has these enhancements:
      >     - Fix bug in gzclose_w() when gzwrite() fails to allocate memory
      >     - Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen()
      >     - Add gzopen_w() in Windows for wide character path names
      >     - Fix type mismatch between get_crc_table() and crc_table
      >     Version 1.2.6 has many changes over 1.2.5, including these improvements:
      >     - gzread() can now read a file that is being written concurrently
      >     - gzgetc() is now a macro for increased speed
      >     - Added a 'T' option to gzopen() for transparent writing (no compression)
      >     - Added deflatePending() to return the amount of pending output
      >     - Allow deflateSetDictionary() and inflateSetDictionary() at any time in raw mode
      >     - deflatePrime() can now insert bits in the middle of the stream
      >     - ./configure now creates a configure.log file with all of the results
      >     - Added a ./configure --solo option to compile zlib with no dependency on any libraries
      >     - Fixed a problem with large file support macros
      >     - Fixed a bug in contrib/puff
      >     - Many portability improvements
      >
      > BUG=610615
      > R=agl@chromium.org
      > R=gavinp@chromium.org
      >
      > Committed: https://crrev.com/a50849ae9ba1b2fad47905db521463b3bf085883
      > Cr-Commit-Position: refs/heads/master@{#400647}
      
      TBR=agl@chromium.org,gavinp@chromium.org,khasim.mohammed@linaro.org,jiadong.zhu@linaro.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=610615
      
      Review-Url: https://codereview.chromium.org/2079313002
      Cr-Original-Commit-Position: refs/heads/master@{#400670}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: 43770253ccc0425c4edde966e56b3e68955cc4d3
      bf2aebea
    • jiadong.zhu's avatar
      Update Zlib to version 1.2.8 · 90f7dad7
      jiadong.zhu authored
      merge the latest open source zlib into chromium external projects
      
       Version 1.2.8 fixes a very rare bug in decompression. All users are encouraged to upgrade immediately. Version 1.2.8 also has these improvements:
          - Add new inflateGetDictionary() function
          - Fix bug where gzopen() immediately followed by gzclose() would write an empty file instead of an empty gzip stream.
          - Fix bug in gzclose() when gzwrite() runs out of memory
          Version 1.2.7 has many portability improvements over 1.2.6, and has these enhancements:
          - Fix bug in gzclose_w() when gzwrite() fails to allocate memory
          - Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen()
          - Add gzopen_w() in Windows for wide character path names
          - Fix type mismatch between get_crc_table() and crc_table
          Version 1.2.6 has many changes over 1.2.5, including these improvements:
          - gzread() can now read a file that is being written concurrently
          - gzgetc() is now a macro for increased speed
          - Added a 'T' option to gzopen() for transparent writing (no compression)
          - Added deflatePending() to return the amount of pending output
          - Allow deflateSetDictionary() and inflateSetDictionary() at any time in raw mode
          - deflatePrime() can now insert bits in the middle of the stream
          - ./configure now creates a configure.log file with all of the results
          - Added a ./configure --solo option to compile zlib with no dependency on any libraries
          - Fixed a problem with large file support macros
          - Fixed a bug in contrib/puff
          - Many portability improvements
      
      BUG=610615
      R=agl@chromium.org
      R=gavinp@chromium.org
      
      Review-Url: https://codereview.chromium.org/1955383002
      Cr-Original-Commit-Position: refs/heads/master@{#400647}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: a50849ae9ba1b2fad47905db521463b3bf085883
      90f7dad7
  10. Nov 05, 2014
    • robert.bradford's avatar
      Reland "Integrate SIMD optimisations for zlib" · 10dd686e
      robert.bradford authored
      This version uses a "pthread_once" implementation, using Windows
      synchronisation primitives, imported from tcmalloc.
      
      Previous CLs:
      https://codereview.chromium.org/677713002/
      https://codereview.chromium.org/552123005
      
      This version of the CL also runs fine on Windows Server 2003.
      
      These optimisations have been published on zlib mailing list and at
      https://github.com/jtkukunas/zlib/
      
      This change merges the following optimisation patches:
      - "For x86, add CPUID check."
      - "Adds SSE2 optimized hash shifting to fill_window."
      - "add SSE4.2 optimized hash function"
      - "add PCLMULQDQ optimized CRC folding"
      
      From Jim Kukunas <james.t.kukunas@linux.intel.com>; and adapts them to the
      current zlib version in Chromium.
      
      The optimisations are enabled at runtime if all the necessary CPU features are
      present. As the optimisations require extra cflags to enable the compiler to
      use the instructions the optimisations are held in their own static library
      with a stub implementation to allow linking on other platforms.
      
      TEST=net_unittests(GZipUnitTest) passes, Chrome functions and performance
      improvement seen on RoboHornet benchmark on Linux Desktop
      BUG=401517
      
      Review URL: https://codereview.chromium.org/678423002
      
      Cr-Original-Commit-Position: refs/heads/master@{#302799}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: 02a95e3084f979084fa8586e1718a6e6dd4c22da
      10dd686e
  11. Oct 24, 2014
    • qyearsley's avatar
      Revert of Reland "Integrate SIMD optimisations for zlib" (patchset #2 id:40001... · 32301181
      qyearsley authored
      Revert of Reland "Integrate SIMD optimisations for zlib" (patchset #2 id:40001 of https://codereview.chromium.org/677713002/)
      
      Reason for revert:
      Speculatively reverting because XP Tests (1) is having failures.
      
      https://build.chromium.org/p/chromium.win/builders/XP%20Tests%20(1)
      
      Original issue's description:
      > Reland "Integrate SIMD optimisations for zlib"
      >
      > This reland adds an MSan suppression entry to work around gaps in MSan's
      > support for some of the intrinsics this patch uses. This version also inlines
      > the insert_string_sse function as it uses inline assembly and therefore does
      > not need to be in the static library.
      >
      > Original CL: https://codereview.chromium.org/552123005
      >
      > These optimisations have been published on zlib mailing list and at
      > https://github.com/jtkukunas/zlib/
      >
      > This change merges the following optimisation patches:
      > - "For x86, add CPUID check."
      > - "Adds SSE2 optimized hash shifting to fill_window."
      > - "add SSE4.2 optimized hash function"
      > - "add PCLMULQDQ optimized CRC folding"
      >
      > From Jim Kukunas <james.t.kukunas@linux.intel.com>; and adapts them to the
      > current zlib version in Chromium.
      >
      > The optimisations are enabled at runtime if all the necessary CPU features are
      > present. As the optimisations require extra cflags to enable the compiler to
      > use the instructions the optimisations are held in their own static library
      > with a stub implementation to allow linking on other platforms.
      >
      > TEST=net_unittests(GZipUnitTest) passes, Chrome functions and performance
      > improvement seen on RoboHornet benchmark on Linux Desktop
      > BUG=401517
      >
      > Committed: https://crrev.com/a5022d5eab6f77889aceed6ab0ccaf44a657ffc4
      > Cr-Commit-Position: refs/heads/master@{#301162}
      
      TBR=agl@chromium.org,hans@chromium.org,robert.bradford@intel.com
      NOTREECHECKS=true
      NOTRY=true
      BUG=401517
      
      Review URL: https://codereview.chromium.org/665203006
      
      Cr-Original-Commit-Position: refs/heads/master@{#301221}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: 5d38e0bd32f9a7e4766b877711c710df986d74ed
      32301181
    • robert.bradford's avatar
      Reland "Integrate SIMD optimisations for zlib" · a8515195
      robert.bradford authored
      This reland adds an MSan suppression entry to work around gaps in MSan's
      support for some of the intrinsics this patch uses. This version also inlines
      the insert_string_sse function as it uses inline assembly and therefore does
      not need to be in the static library.
      
      Original CL: https://codereview.chromium.org/552123005
      
      These optimisations have been published on zlib mailing list and at
      https://github.com/jtkukunas/zlib/
      
      This change merges the following optimisation patches:
      - "For x86, add CPUID check."
      - "Adds SSE2 optimized hash shifting to fill_window."
      - "add SSE4.2 optimized hash function"
      - "add PCLMULQDQ optimized CRC folding"
      
      From Jim Kukunas <james.t.kukunas@linux.intel.com>; and adapts them to the
      current zlib version in Chromium.
      
      The optimisations are enabled at runtime if all the necessary CPU features are
      present. As the optimisations require extra cflags to enable the compiler to
      use the instructions the optimisations are held in their own static library
      with a stub implementation to allow linking on other platforms.
      
      TEST=net_unittests(GZipUnitTest) passes, Chrome functions and performance
      improvement seen on RoboHornet benchmark on Linux Desktop
      BUG=401517
      
      Review URL: https://codereview.chromium.org/677713002
      
      Cr-Original-Commit-Position: refs/heads/master@{#301162}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: a5022d5eab6f77889aceed6ab0ccaf44a657ffc4
      a8515195
  12. Oct 23, 2014
    • robert.bradford's avatar
      Revert of Integrate SIMD optimisations for zlib (patchset #14 id:280001 of... · 23dbc912
      robert.bradford authored
      Revert of Integrate SIMD optimisations for zlib (patchset #14 id:280001 of https://codereview.chromium.org/552123005/)
      
      Reason for revert:
      Strong candidate for: multiple Linux MSan test failures with:
      
      SUMMARY: MemorySanitizer: use-of-uninitialized-value ??:0 ??
      
      Including: CompressionUtilsTest.GzipCompression
      
      Original issue's description:
      > Integrate SIMD optimisations for zlib
      >
      > These optimisations have been published on zlib mailing list and at
      > https://github.com/jtkukunas/zlib/
      >
      > This change merges the following optimisation patches:
      > - "For x86, add CPUID check."
      > - "Adds SSE2 optimized hash shifting to fill_window."
      > - "add SSE4.2 optimized hash function"
      > - "add PCLMULQDQ optimized CRC folding"
      >
      > From Jim Kukunas <james.t.kukunas@linux.intel.com> and adapts them to the
      > current zlib version in Chromium.
      >
      > The optimisations are enabled at runtime if all the necessary CPU features are
      > present. As the optimisations require extra cflags to enable the compiler to
      > use the instructions the optimisations are held in their own static library
      > with a stub implementation to allow linking on other platforms.
      >
      > TEST=net_unittests(GZipUnitTest) passes, Chrome functions and performance
      > improvement seen on RoboHornet benchmark on Linux Desktop
      > BUG=401517
      >
      > Committed: https://crrev.com/e045ec106de29562ae94eafccde49a7b73848471
      > Cr-Commit-Position: refs/heads/master@{#300866}
      
      TBR=agl@chromium.org,nathan.d.ciobanu@intel.com
      NOTREECHECKS=true
      NOTRY=true
      BUG=401517
      
      Review URL: https://codereview.chromium.org/671163003
      
      Cr-Original-Commit-Position: refs/heads/master@{#300889}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: ca54b3014721cdc27e4a17dd2c82fe5811fa39cc
      23dbc912
    • robert.bradford's avatar
      Integrate SIMD optimisations for zlib · 02acec91
      robert.bradford authored
      These optimisations have been published on zlib mailing list and at
      https://github.com/jtkukunas/zlib/
      
      This change merges the following optimisation patches:
      - "For x86, add CPUID check."
      - "Adds SSE2 optimized hash shifting to fill_window."
      - "add SSE4.2 optimized hash function"
      - "add PCLMULQDQ optimized CRC folding"
      
      From Jim Kukunas <james.t.kukunas@linux.intel.com> and adapts them to the
      current zlib version in Chromium.
      
      The optimisations are enabled at runtime if all the necessary CPU features are
      present. As the optimisations require extra cflags to enable the compiler to
      use the instructions the optimisations are held in their own static library
      with a stub implementation to allow linking on other platforms.
      
      TEST=net_unittests(GZipUnitTest) passes, Chrome functions and performance
      improvement seen on RoboHornet benchmark on Linux Desktop
      BUG=401517
      
      Review URL: https://codereview.chromium.org/552123005
      
      Cr-Original-Commit-Position: refs/heads/master@{#300866}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: e045ec106de29562ae94eafccde49a7b73848471
      02acec91
  13. Sep 21, 2012
  14. Aug 15, 2012
  15. Aug 14, 2012
  16. Dec 12, 2011
  17. Jul 27, 2008
Loading