1. 03 Apr, 2024 1 commit
  2. 02 Apr, 2024 6 commits
  3. 01 Apr, 2024 1 commit
    • Add internal traits for lifetimebound detection · 8a31d4a8
      This will helps compilers that understand `ABSL_ATTRIBUTE_LIFETIME_BOUND` flag constructs such as
      `absl::StatusOr<std::string_view> str = std::string(...)`
      as error-prone.
      
      For standard types, this is done via specializing the type traits.
      For all other types, this is done by detecting the presence of a Boolean member trait such as:
      `using absl_internal_is_view = std::true_type;`
      in the type.
      
      This is purely intended as a safety feature, and the values of these traits (even if wrong!) must NOT be depended on for correct behavior.
      Furthermore, only high-value types (such as `absl::StatusOr`) are the intended users here.
      Do not declare or use these traits on arbitrary types that are unlikely to be misused.
      
      Do not depend on any of these to be stable, as they not (yet) public APIs.
      Moreover, the trait declarations and mechanisms are all subject to change.
      (For example, if `[[clang::lifetimebound]]` becomes possible to detect directly, the traits may need to be altered to utilize that, and distinguish between assignments and constructions.)
      
      Should these or similar APIs be made public at a later point, the detection mechanisms may be altered quickly, and may (either loudly or silently) break existing code depending on these internal APIs without notice.
      
      PiperOrigin-RevId: 620868493
      Change-Id: I4a528a1dcf0df6ffbc3641d09537bc4c674aee4e
      Abseil Team committed
  4. 29 Mar, 2024 1 commit
  5. 28 Mar, 2024 4 commits
  6. 27 Mar, 2024 7 commits
  7. 26 Mar, 2024 5 commits
  8. 25 Mar, 2024 3 commits
  9. 24 Mar, 2024 1 commit
  10. 22 Mar, 2024 2 commits
  11. 21 Mar, 2024 3 commits
  12. 20 Mar, 2024 3 commits
  13. 19 Mar, 2024 3 commits
    • Delete ABSL_ANNOTATE_MEMORY_IS_INITIALIZED under Thread Sanitizer · 4024afbb
      PiperOrigin-RevId: 617266753
      Change-Id: I6cac7b4616001c8d435fb1786da81b746f2d14cb
      Abseil Team committed
    • Remove vestigial variables in the DumpNode() helper in absl::Cord · 8fe6b423
      Fixes #1636 (GCC -Wmaybe-uninitialized warning)
      
      PiperOrigin-RevId: 617253727
      Change-Id: I246cd21d8123d4dfa7780b1c4cac8ea1558a4067
      Derek Mauro committed
    • Do hashtablez sampling on the first insertion into an empty SOO hashtable. · 1980d7b9
      When sampling triggers, we skip SOO and allocate a backing array. We must do this because the HashtablezInfoHandle is part of the heap allocation (along with the control bytes and slots). By default, we sample 1 in ~1024 hashtables when sampling is enabled. This will impact performance because (a) we won't benefit from SOO so we would have worse data locality (more cache/TLB misses), and (b) the backing array capacity will be 3 instead of 1 so (b.1) we skip the rehash after the second insertion and (b.2) we potentially waste up to two slots worth of memory.
      
      We also add an soo_capacity field to HashtablezInfo to allow for distinguishing which sampled tables may otherwise have been SOO - this will allow us to know approximately what fraction of tables are in SOO mode.
      
      PiperOrigin-RevId: 617252334
      Change-Id: Ib48b7a4870bd74ea3ba923ed8f350a3b75dbb7d3
      Evan Brown committed