1. 04 Jul, 2024 1 commit
  2. 03 Jul, 2024 2 commits
  3. 02 Jul, 2024 2 commits
  4. 01 Jul, 2024 6 commits
  5. 27 Jun, 2024 5 commits
  6. 26 Jun, 2024 4 commits
  7. 25 Jun, 2024 1 commit
  8. 24 Jun, 2024 5 commits
  9. 22 Jun, 2024 2 commits
  10. 21 Jun, 2024 2 commits
  11. 20 Jun, 2024 3 commits
    • Create `absl::container_internal::c_for_each_fast` for SwissTable. · 10ac811f
      This function is aimed to achieve faster iteration through the entire hash table.
      It is not ready to be used by the public and stays in `container_internal` namespace.
      
      Differences with `absl::c_for_each`:
      1. No guarantees on order of iteration. Although for the hash table it is partially not guaranteed already. But we do not even guarantee that it is the same order as in the for loop range. De facto, the order is the same at the moment.
      2. No mutating reentrance is allowed. Most notably erasing from the hash_table is not allowed.
      
      Based on microbenchmarks, there are following conclusions:
      1. c_for_each_fast is clearly faster on big tables with 20-60% speedup.
      2. Microbenchmarks show regression on a full small table without any empty slots.
         We should avoid recommending that for small tables.
      3. It seems reasonable to use `c_for_each_fast` in places, where `skip_empty_or_deleted` has significant GCU usage. `skip_empty_or_deleted` usage signals that there are "gaps" between elements, so `c_for_each_fast` should be an improvement.
      
      PiperOrigin-RevId: 645142512
      Change-Id: I279886b8c8b2545504c2bf7e037d27b2545e044d
      Vitaly Goldshteyn committed
    • Disable flaky test cases in kernel_timeout_internal_test. · 93763764
      PiperOrigin-RevId: 645054874
      Change-Id: Ic4a820b47edfa71bd3e1f149d54f00ac3c1d16a6
      Evan Brown committed
    • Document that swisstable and b-tree containers are not exception-safe. · e1814101
      For performance reasons, these containers are optimized for the case in which allocations/deallocations/comparisons/hashers can't throw exceptions.
      
      PiperOrigin-RevId: 645054627
      Change-Id: I99be651b26f5bbb87da6ef246b92b20a375224d7
      Evan Brown committed
  12. 18 Jun, 2024 1 commit
    • Add `ABSL_NULLABILITY_COMPATIBLE` attribute. · 69195d5b
      This is a replacement for the `absl_nullability_compatible` tag. The attribute
      has the advantage that, unlike the tag, it can be applied to forward
      declarations.
      
      This does not yet change the implementation of the nullability annotations --
      that will come in a followup patch.
      
      As the nullability annotations themselves have not been changed, the
      `absl_nullability_compatible` tag is currently still used to check whether the
      annotations can be applied to a given type; see also the comments in the code.
      
      PiperOrigin-RevId: 644238698
      Change-Id: I5882606f82ce7a6dd98e83e6d920573437561b50
      Martin Brænne committed
  13. 17 Jun, 2024 2 commits
  14. 14 Jun, 2024 2 commits
  15. 13 Jun, 2024 2 commits
    • Turn on validation for out of bounds MockUniform in MockingBitGen · 33dca3ef
      This makes MockUniform fail if the action is specified to return an out of bounds value.
      
      Examples that will fail:
      
        absl::Uniform(gen, 1, 4) -> 42
        absl::Uniform(gen, 1, 4) -> 4: [1, 4)
        absl::Uniform(absl::IntervalOpenClosed, gen, 1, 4) -> 1: (1, 4]
      
      Examples that will pass:
      
        absl::Uniform(gen, 1, 4) -> 3
        absl::Uniform(gen, 1, 4) -> 1: [1, 4)
        absl::Uniform(absl::IntervalClosed, gen, 1, 4) -> 4: [1, 4]
      
      Special case: the empty range always returns its boundary, so this case passes:
      
        absl::Uniform(absl::IntervalOpen, 1, 1) -> 1: (1, 1)
      
      If this breaks your test, your test has a bug: it's relying on an absl::Uniform() call that returns an impossible value. The UnvalidatedMockingBitGen type temporarily exists to allow for disabling the validation to give a bit of time to fix the test, but this type will go away soon.
      
      PiperOrigin-RevId: 643090275
      Change-Id: I23470fa9e1efbcb42fa3866237038414545c7be2
      Justin Bassett committed
    • Use ABSL_UNREACHABLE() instead of equivalent · 7c03b80e
      PiperOrigin-RevId: 643024432
      Change-Id: Id07aa18d186291442f7b6f3c68ef8dd6cc20b434
      Derek Mauro committed