1. 30 Jan, 2024 1 commit
  2. 29 Jan, 2024 3 commits
    • Add empty WORKSPACE.bzlmod · 04af270f
      When bzlmod is enabled and WORKSPACE.bzlmod exists, the content of
      WORKSPACE is ignored. This prevents bzlmod builds from unintentionally
      depending on the WORKSPACE file.
      
      This exposed some small problems with our clang-cl configuration,
      which are also fixed in this change.
      
      PiperOrigin-RevId: 602511311
      Change-Id: I0ba411edde2df0e17f4eeede4117ddb6934dd8f8
      Derek Mauro committed
    • Introduce `RawHashSetLayout` helper class. · d5eb5032
      PiperOrigin-RevId: 602485199
      Change-Id: I5cc10eb8dcfe5988cf939080a224522e02ad8607
      Abseil Team committed
    • Fix a corner case in SpyHashState for exact boundaries. · 9a79278a
      AbslHash allows for piecewise chunks to be streamed incrementally into hash states and requires them to hash identically to one giant stream.  The exact size window for this is an internal details `PiecewiseChunkSize`.  There was an off by one error in this code.  Add tests and fix it.
      
      PiperOrigin-RevId: 602463183
      Change-Id: I159bbb5e7e745f55b2fe6eaf0d2735bd0a08aca9
      Matt Kulukundis committed
  3. 25 Jan, 2024 1 commit
  4. 24 Jan, 2024 1 commit
  5. 23 Jan, 2024 1 commit
  6. 22 Jan, 2024 3 commits
  7. 19 Jan, 2024 2 commits
    • Prevent brace initialization of AlphaNum · 2be67701
      This was not intended to be supported, and it has resulted in calls as `absl::StrCat({...})`, which are not supported and only work coincidentally for the first 4 arguments due to `absl::StrCat` having overloads that take `absl::AlphaNum` directly for those.
      
      The existing situation prevents modifying the implementations of such functions to alternatives that do not have such overloads for those arguments.
      
      PiperOrigin-RevId: 599872755
      Change-Id: I02c90119b2b96a922cf7e3b5d5f02affe24a272d
      Abseil Team committed
    • Remove code pieces for no longer supported MSVC versions. · 04d8afe7
      The current support policy is `_MSC_VER >= 1920`.
      
      PiperOrigin-RevId: 599833619
      Change-Id: I9cf7393a5b659d1680765e37e0328539ccb870fa
      Abseil Team committed
  8. 18 Jan, 2024 2 commits
  9. 17 Jan, 2024 1 commit
  10. 16 Jan, 2024 1 commit
  11. 13 Jan, 2024 1 commit
  12. 12 Jan, 2024 1 commit
  13. 11 Jan, 2024 3 commits
  14. 10 Jan, 2024 3 commits
  15. 09 Jan, 2024 1 commit
  16. 05 Jan, 2024 1 commit
  17. 04 Jan, 2024 2 commits
    • Optimize integer-to-string conversions · d5a2cec0
      The updated code is designed to:
      - Be branch-predictor-friendly
      - Be cache-friendly
      - Minimize the lengths of critical paths
      - Minimize slow operations (particularly multiplications)
      - Minimize binary/codegen bloat
      
      The most notable performance trick here is perhaps the precomputation & caching of the number of digits, so that we can reuse/exploit it when writing the output.
      
      This precomputation of the exact length enables 2 further performance benefits:
      - It makes `StrCat` and `StrAppend` zero-copy when only integers are passed, by avoiding intermediate `AlphaNum` entirely in those cases. If needed in the future, we can probably also make many other mixtures of non-integer types zero-copy as well.
      - It avoids over-reservation of the string buffer, allowing for more strings to fit inside SSO, which will likely have further performance benefits.
      
      There is also a side benefit of preventing `FastIntToBuffer` from writing beyond the end of the buffer, which has caused buffer overflows in the past.
      
      The new code continues to use & extend some of the existing core tricks (such as the division-by-100 trick), as those are already efficient.
      
      PiperOrigin-RevId: 595785531
      Change-Id: Id6920e7e038fec10b2c45f213de75dc7e2cbddd1
      Abseil Team committed
    • Correct nullability annotations on MakeNan · ccf0c773
      Neither GCC nor Clang's __builtin_nan(), nor glibc's nan(), accept null pointers.
      
      PiperOrigin-RevId: 595767225
      Change-Id: I4cddd1cafd0c9e83a823ec68386f10ce077c6b4c
      Abseil Team committed
  18. 03 Jan, 2024 2 commits
  19. 02 Jan, 2024 3 commits
  20. 28 Dec, 2023 2 commits
  21. 27 Dec, 2023 2 commits
  22. 26 Dec, 2023 2 commits
  23. 21 Dec, 2023 1 commit