- 22 Feb, 2023 2 commits
-
-
PiperOrigin-RevId: 511536497 Change-Id: If70a1c72ef5f7cbb4a80100c4edff459373a5d55
Abseil Team committed -
PiperOrigin-RevId: 511499093 Change-Id: I9ea2bbc38cbe8bd9dae937626d8faac41c010b38
Copybara-Service committed
-
- 21 Feb, 2023 5 commits
-
-
PiperOrigin-RevId: 511271203 Change-Id: I1ed352e06265b705b62d401a50b4699d01f7f1d7
Copybara-Service committed -
PiperOrigin-RevId: 511270860 Change-Id: Ib7de8c72505bf141d450f950074a27f9f4f1613c
Copybara-Service committed -
Refactor swisstable iterator debug messages code. The motivations are (a) distinguish between the "likely erased" and "could have rehashed" cases when generations are enabled, (b) suggest running under ASan when generations aren't enabled and doing so would narrow down the possible error cases, and (c) make ABSL_INTERNAL_ASSERT_IS_FULL not be a macro. PiperOrigin-RevId: 511255275 Change-Id: I5a44a813cd310837d0bd0209d2187b100be201e7
Evan Brown committed -
Both e_shentsize and e_shstrndx are uint16, so the product elf_header.e_shentsize * elf_header.e_shstrndx can overflow the promoted type int (MAX_UINT16 * MAX_UINT16 > MAX_INT), which is undefined behavior. Not sure if it can affect any real cases or not, though. Cast e_shentsize to loff_t instead of e_shoff. This makes both multiplication and addition to use loff_t type. PiperOrigin-RevId: 511254775 Change-Id: I39c493bfb539cca6742aae807c50718d31e7c001
Abseil Team committed -
Apple's clang fork has the missing commit now, and we can safely use the above codepath.
Rose committed
-
- 18 Feb, 2023 2 commits
-
-
The `_dll` variable contains the target name. The code was trying to use `_NAME` when handling ABSL_PROPAGATE_CXX_STD. Probably a cut&paste error from the other places where we handle that option. PiperOrigin-RevId: 510551097 Change-Id: I006435978333dd7a72a300503389a7bf48fb6d0d
Abseil Team committed -
PiperOrigin-RevId: 510549728 Change-Id: I4447197b56dc76aaf4dd4e78671de247af2a91e8
Copybara-Service committed
-
- 17 Feb, 2023 3 commits
-
-
PiperOrigin-RevId: 510518832 Change-Id: I086c8f2e34312e2b0384b3c67b9c04814d41ddf0
Derek Mauro committed -
These make the changed constructors match closer to the other ones that are default.
Rose committed -
monotonic clocks on Linux when the implementation uses futexes After this change, when synchronization methods that wait are passed an absl::Duration to limit the wait time, these methods will wait for that interval, even if the system clock is changed (subject to any limitations with how CLOCK_MONOTONIC keeps track of time). In other words, an observer measuring the time with a stop watch will now see the correct interval, even if the system clock is changed. Previously, the duration was added to the current time, and methods would wait until that time was reached on the possibly changed realtime system clock. The behavior of the synchronization methods that take an absl::Time is unchanged. These methods always wait until the absolute point in time is reached and respect changes to the system clock. In other words, an observer will always see the timeout occur when a wall clock reaches that time, even if the clock is manipulated externally. Note: ABSL_PREDICT_FALSE was removed from the error case in Futex as timeouts are handled by this case, and timeouts are part of normal operation. PiperOrigin-RevId: 510405347 Change-Id: I0b3ea390de97014cfa353079ae2e0c1c637aca69
Derek Mauro committed
-
- 16 Feb, 2023 3 commits
-
-
std::chrono methods used by std::condition_variable. A followup change will add an implemention of synchronization_internal::Waiter that can use std:mutex/std::condition_variable to implement the per-thread semaphore that absl::Mutex waits on. This implementation may at some point become the default on platforms such as Windows where there doesn't seem to be an easy way of supporting real absolute timeouts. In this case we can defer to their standard library to implement correct support. PiperOrigin-RevId: 510204786 Change-Id: Icf4d695013fd060abbd53dae23e71ea36f731565
Derek Mauro committed -
This also helps a lot with dealing with conversions and data structure creation under the hood.
Rose committed -
Change to checking for use_count() >/== 1. PiperOrigin-RevId: 510125744 Change-Id: I572cca18c3f827f5d3eefb2ec19a1a014c0090ae
Abseil Team committed
-
- 15 Feb, 2023 2 commits
-
-
Milad Fa committed
-
instead of absl::ToUnixNanos(absl::Now()); PiperOrigin-RevId: 509829866 Change-Id: Ib34362762304ad6eb7980a1227d717069b84f656
Derek Mauro committed
-
- 14 Feb, 2023 4 commits
-
-
Supporting _m_prefetchw() (officially part of 3DNOW) across various compilers and platforms turns out to be difficult. This change removes the explicit _m_prefetchw call aimed at MSVC compilers given that it causes issues in clang / chromium compilations. PiperOrigin-RevId: 509632497 Change-Id: Ib1b6b2cf667cbc1af5ed6651cd9aa0294a9265b6
Martijn Vels committed -
Make default-constructed swisstable iterators use EmptyGroup() for ctrl_ so that we can distinguish between end() iterators and default-constructed iterators in debug mode. PiperOrigin-RevId: 509606271 Change-Id: I77b68590b3904a4cf7809b75d814d74cb89603b6
Evan Brown committed -
PiperOrigin-RevId: 509581648 Change-Id: Ia60053f1172e0e64569e9555524812fc4788e24f
Copybara-Service committed -
https://bugs.llvm.org/show_bug.cgi?id=38289 has been addressed since 2019. We just have to check to see if the clang being used to compile with is any version before major version 9.
Rose committed
-
- 13 Feb, 2023 3 commits
-
-
PiperOrigin-RevId: 509299527 Change-Id: I2f9a801faf87f968f1625711a67d38a528f0740c
Copybara-Service committed -
The test was getting tripped by EXPECT_DEATH_IF_SUPPORTED keeping a literal copy of the test statement. PiperOrigin-RevId: 509299343 Change-Id: I63da29d844cc630d750535fd4bb13a2895d32541
Abseil Team committed -
PiperOrigin-RevId: 509236105 Change-Id: I635f521aff106875f06bb93c332d3e437d0ad409
Abseil Team committed
-
- 10 Feb, 2023 2 commits
-
-
On Linux Kernels >= 5.4 MSan reports a false positive when accessing thread local storage data from loaded libraries. This was reported on Chromium (which on some build configurations uses absl as a dynamic library). More info here: crbug.com/1414573. PiperOrigin-RevId: 508645053 Change-Id: I5d5a97e1ee7230cc23f3934a4ec5594b883918b4
Abseil Team committed -
APIs that take KernelTimeout as a parameter can now query if an absolute or relative timeout was requested. If the underlying API can only use one type of timeout, the code will do a reasonable conversion. The goal is to eventually enable the possibility of using wait times that are based on monotonic clocks that are safe against system clock steps. PiperOrigin-RevId: 508541507 Change-Id: Id08bf13515f3e1bfd78d88393cde98a6fd3ef72c
Derek Mauro committed
-
- 09 Feb, 2023 1 commit
-
-
We change AssertSameContainer to be after AssertIsValidForComparison calls so that we can have more specific failure messages. PiperOrigin-RevId: 508472485 Change-Id: Iff2f7512086948a4aca7fd403596e8d4fde53b2a
Evan Brown committed
-
- 08 Feb, 2023 2 commits
-
-
PiperOrigin-RevId: 508124592 Change-Id: Ib183e6e241c81b2760e7f849f8af8e7e2c30ea42
Abseil Team committed -
Change implementation of OnlyLiteralZero to only fail if the second overload is chosen, not in overload resolution. PiperOrigin-RevId: 508031321 Change-Id: I6981371fbc6498047babe3468f3343090f8bda47
Abseil Team committed
-
- 07 Feb, 2023 1 commit
-
-
PiperOrigin-RevId: 507790741 Change-Id: I347357f9a2d698510f29b7d1b065ef73f9289292
Saran Tunyasuvunakool committed
-
- 06 Feb, 2023 2 commits
-
-
Fix a discrepancy between absl::Hash and absl::HashOf for some negative signed integral types and improve the performance of absl::Hash. PiperOrigin-RevId: 507598042 Change-Id: I96a7bd6b9c360f435f216b2671ae84d9768a46e8
Abseil Team committed -
Trish Lam committed
-
- 04 Feb, 2023 1 commit
-
-
`PrefetchToLocalCacheForWrite` should use `__builtin_prefetch(<addr>, 1, 3)` not `__builtin_prefetch<addr>, 1, 0)` PiperOrigin-RevId: 507015724 Change-Id: I99f44fe819c27e6dcc0bb7b36f1a37015c6f1987
Abseil Team committed
-
- 03 Feb, 2023 1 commit
-
-
PiperOrigin-RevId: 506944023 Change-Id: I04ff13dcec89c57ba03707f5698c4198434216b6
Laramie Leavitt committed
-
- 02 Feb, 2023 3 commits
-
-
PiperOrigin-RevId: 506622658 Change-Id: I17ae2d97a6cadb7bdd8ebd0ec0dd3976568cb7e1
Derek Mauro committed -
Get rid of tail padding within `absl::Duration`. This reduces memory usage needs when storing duration in containers (e.g. `vector<absl::Duration>` uses 25% less memory), and allows classes with `absl::Duration` fields to fit other stuff in memory previously used by tail padding (e.g. `std::optional<absl::Duration>` is now 16 bytes instead of 24). PiperOrigin-RevId: 506568782 Change-Id: Ic9e077f02a80da013fb2d312aff77761b970c07a
Abseil Team committed -
Get rid of tail padding within `absl::Duration`. This reduces memory usage needs when storing duration in containers (e.g. `vector<absl::Duration>` uses 25% less memory), and allows classes with `absl::Duration` fields to fit other stuff in memory previously used by tail padding (e.g. `std::optional<absl::Duration>` is now 16 bytes instead of 24). PiperOrigin-RevId: 506543503 Change-Id: Ifeb2397c953a5d3da317a70ab49a3ebb85042344
Abseil Team committed
-
- 01 Feb, 2023 3 commits
-
-
PiperOrigin-RevId: 506323250 Change-Id: I0f7d4532c19088b011740ceff87ecec55cc34edb
Derek Mauro committed -
Rollforward: in sanitizer mode, detect when references become invalidated by randomly rehashing on insertions when there is no reserved growth. Rollforward of ed59f62f PiperOrigin-RevId: 506314970 Change-Id: I7a654aef36bb169da9ea5c618789ee771f05fe28
Evan Brown committed -
PiperOrigin-RevId: 506151912 Change-Id: I388884b0bd80ef0f8a0b3d3c7d0e1b404ddfb742
Abseil Team committed
-