Skip to content
Snippets Groups Projects
  1. Jan 24, 2020
  2. Jan 23, 2020
  3. Jan 14, 2020
  4. Jan 13, 2020
  5. Jan 08, 2020
  6. Dec 21, 2019
  7. Dec 12, 2019
  8. Dec 04, 2019
    • Chris Blume's avatar
      Remove use of inline ASM in insert_string_sse · f262c1b3
      Chris Blume authored
      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: default avatarAdenilson 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
      f262c1b3
  9. Nov 26, 2019
    • Chris Blume's avatar
      Revert "Remove use of inline ASM in insert_string_sse" · e77e1c06
      Chris Blume authored
      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: default avatarAdenilson 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: default avatarChris 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
      e77e1c06
  10. Nov 25, 2019
    • Adenilson Cavalcanti's avatar
      Remove use of inline ASM in insert_string_sse · ae16db55
      Adenilson Cavalcanti authored
      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: default avatarAdenilson 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
      ae16db55
  11. Nov 21, 2019
    • Adenilson Cavalcanti's avatar
      Fix performance issue in RAW mode · 7c4128a1
      Adenilson Cavalcanti authored
      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: default avatarChris Blume <cblume@chromium.org>
      Reviewed-by: default avatarAdenilson 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
      7c4128a1
  12. Nov 14, 2019
  13. Nov 08, 2019
  14. Nov 04, 2019
  15. Oct 24, 2019
  16. Oct 15, 2019
  17. Oct 01, 2019
  18. Sep 24, 2019
  19. Sep 10, 2019
  20. Aug 27, 2019
  21. Aug 23, 2019
    • Gabriel Charette's avatar
      Reland "[TaskEnvironment] Complete migration with header rename" · 4b23ce8b
      Gabriel Charette authored
      This is a reland of 18947083c7e75ec6d5e8c3b729515d83bde41c59
      
      The move_source_file.py script's formatting rules incorrectly
      formatted services/device/generic_sensor/platform_sensor_and_provider_unittest_win.cc
      after all. But we also can't rely 100% on git cl format (crbug.com/997063)
      so I ended up performing a git cl format && git add -up
      (+interactive addition of missing blank line after foo.h when included
      from top of foo.cc)
      
      Also added
      $ tools/git/move_source_file.py net/test/test_with_scoped_task_environment.h net/test/test_with_task_environment.h
      
      Original change's description:
      > [TaskEnvironment] Complete migration with header rename
      >
      > This is merely:
      >
      > $ tools/git/move_source_file.py base/test/scoped_task_environment.h base/test/task_environment.h
      > $ tools/git/move_source_file.py base/test/scoped_task_environment.cc base/test/task_environment.cc
      > $ tools/git/move_source_file.py base/test/scoped_task_environment_unittest.cc base/test/task_environment_unittest.cc
      > $ tools/git/move_source_file.py content/public/test/test_browser_thread_bundle.h content/public/test/browser_task_environment.h
      > $ tools/git/move_source_file.py content/public/test/test_browser_thread_bundle.cc content/public/test/browser_task_environment.cc
      > $ tools/git/move_source_file.py content/public/test/test_browser_thread_bundle_unittest.cc content/public/test/browser_task_environment_unittest.cc
      > $ tools/git/move_source_file.py ios/web/public/test/test_web_thread_bundle.h ios/web/public/test/web_task_environment.h
      > $ tools/git/move_source_file.py ios/web/test/test_web_thread_bundle.cc ios/web/test/web_task_environment.cc
      >
      > and a few manual renames in DEPS files missed by the script
      >
      > This CL uses --bypass-hooks to avoid having to git cl format because
      > many headers are being reordered by git cl format and it's too many to
      > figure out in a no-op CL which ones are okay with it.
      > windows.h for one should typically be first and another one of the
      > reorderings in PS3 even caused a compile failure:
      > https://chromium-review.googlesource.com/c/chromium/src/+/1764962/3/components/services/font/font_loader_unittest.cc
      >
      > TBR=dcheng@chromium.org
      >
      > Bug: 992483
      > Change-Id: I32a4afd43ef779393c95d9873c157be2d3da1dd1
      > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1764962
      
      
      > Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
      > Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
      > Commit-Queue: Gabriel Charette <gab@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#689778}
      
      TBR=dcheng@chromium.org
      
      Bug: 992483
      Change-Id: I6179dd1329a4d30bf5c65450ea893537f31e6f85
      Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1767658
      
      
      Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
      Commit-Queue: Gabriel Charette <gab@chromium.org>
      Cr-Original-Commit-Position: refs/heads/master@{#689794}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: c7108748948a6ab308f323d6e72c59d29c7e240a
      4b23ce8b
    • Gabriel Charette's avatar
      Revert "[TaskEnvironment] Complete migration with header rename" · 92f837f8
      Gabriel Charette authored
      This reverts commit 18947083c7e75ec6d5e8c3b729515d83bde41c59.
      
      Reason for revert: broke Win
      
      Original change's description:
      > [TaskEnvironment] Complete migration with header rename
      > 
      > This is merely:
      > 
      > $ tools/git/move_source_file.py base/test/scoped_task_environment.h base/test/task_environment.h
      > $ tools/git/move_source_file.py base/test/scoped_task_environment.cc base/test/task_environment.cc
      > $ tools/git/move_source_file.py base/test/scoped_task_environment_unittest.cc base/test/task_environment_unittest.cc
      > $ tools/git/move_source_file.py content/public/test/test_browser_thread_bundle.h content/public/test/browser_task_environment.h
      > $ tools/git/move_source_file.py content/public/test/test_browser_thread_bundle.cc content/public/test/browser_task_environment.cc
      > $ tools/git/move_source_file.py content/public/test/test_browser_thread_bundle_unittest.cc content/public/test/browser_task_environment_unittest.cc
      > $ tools/git/move_source_file.py ios/web/public/test/test_web_thread_bundle.h ios/web/public/test/web_task_environment.h
      > $ tools/git/move_source_file.py ios/web/test/test_web_thread_bundle.cc ios/web/test/web_task_environment.cc
      > 
      > and a few manual renames in DEPS files missed by the script
      > 
      > This CL uses --bypass-hooks to avoid having to git cl format because
      > many headers are being reordered by git cl format and it's too many to
      > figure out in a no-op CL which ones are okay with it.
      > windows.h for one should typically be first and another one of the
      > reorderings in PS3 even caused a compile failure:
      > https://chromium-review.googlesource.com/c/chromium/src/+/1764962/3/components/services/font/font_loader_unittest.cc
      > 
      > TBR=dcheng@chromium.org
      > 
      > Bug: 992483
      > Change-Id: I32a4afd43ef779393c95d9873c157be2d3da1dd1
      > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1764962
      
      
      > Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
      > Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
      > Commit-Queue: Gabriel Charette <gab@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#689778}
      
      TBR=dcheng@chromium.org,gab@chromium.org
      
      Change-Id: I9aa8ff558d1ff78cebe0c25e559c017578ad4f53
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: 992483
      Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1767657
      
      
      Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
      Commit-Queue: Gabriel Charette <gab@chromium.org>
      Cr-Original-Commit-Position: refs/heads/master@{#689780}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: b69fcd4f6e1b327f0e3e4570e93213d313d799f3
      92f837f8
    • Gabriel Charette's avatar
      [TaskEnvironment] Complete migration with header rename · 248ab058
      Gabriel Charette authored
      This is merely:
      
      $ tools/git/move_source_file.py base/test/scoped_task_environment.h base/test/task_environment.h
      $ tools/git/move_source_file.py base/test/scoped_task_environment.cc base/test/task_environment.cc
      $ tools/git/move_source_file.py base/test/scoped_task_environment_unittest.cc base/test/task_environment_unittest.cc
      $ tools/git/move_source_file.py content/public/test/test_browser_thread_bundle.h content/public/test/browser_task_environment.h
      $ tools/git/move_source_file.py content/public/test/test_browser_thread_bundle.cc content/public/test/browser_task_environment.cc
      $ tools/git/move_source_file.py content/public/test/test_browser_thread_bundle_unittest.cc content/public/test/browser_task_environment_unittest.cc
      $ tools/git/move_source_file.py ios/web/public/test/test_web_thread_bundle.h ios/web/public/test/web_task_environment.h
      $ tools/git/move_source_file.py ios/web/test/test_web_thread_bundle.cc ios/web/test/web_task_environment.cc
      
      and a few manual renames in DEPS files missed by the script
      
      This CL uses --bypass-hooks to avoid having to git cl format because
      many headers are being reordered by git cl format and it's too many to
      figure out in a no-op CL which ones are okay with it.
      windows.h for one should typically be first and another one of the
      reorderings in PS3 even caused a compile failure:
      https://chromium-review.googlesource.com/c/chromium/src/+/1764962/3/components/services/font/font_loader_unittest.cc
      
      TBR=dcheng@chromium.org
      
      Bug: 992483
      Change-Id: I32a4afd43ef779393c95d9873c157be2d3da1dd1
      Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1764962
      
      
      Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
      Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
      Commit-Queue: Gabriel Charette <gab@chromium.org>
      Cr-Original-Commit-Position: refs/heads/master@{#689778}
      Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
      Cr-Mirrored-Commit: 18947083c7e75ec6d5e8c3b729515d83bde41c59
      248ab058
  22. Aug 13, 2019
  23. Aug 12, 2019
  24. Aug 09, 2019
  25. Aug 08, 2019
  26. Aug 05, 2019
  27. Aug 01, 2019
  28. Jul 25, 2019
  29. Jul 19, 2019
  30. Jun 24, 2019
  31. Jun 11, 2019
  32. Jun 10, 2019
    • Jose Dapena Paz's avatar
      zlib: fix ARMv8 CRC32 compilation in GCC · bbacb136
      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: default avatarAdenilson 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
      bbacb136
  33. May 14, 2019
  34. Apr 18, 2019
  35. Apr 15, 2019
Loading