| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
options.h was already included indirectly from config.h. This CL is just to include what you use.
PiperOrigin-RevId: 561376910
Change-Id: I5b96b2aedc1e02eddc049f5bf0e6faa91799930d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enqueue updates priority of the queued thread.
It was assumed that the queued thread is the current thread.
But it's not the case in CondVar wait morhping,
where we requeue an existing CondVar waiter on the Mutex.
As the result one thread can falsely get priority of another thread.
Fix this by not updating priority in this case.
And make the assumption explicit and checked.
PiperOrigin-RevId: 561249402
Change-Id: I9476c047757090b893a88a2839b795b85fe220ad
|
|
|
|
|
| |
PiperOrigin-RevId: 561119886
Change-Id: Ia1483fdb237f4b211068c7ad1f780ab3e6b81eca
|
|
|
|
|
| |
PiperOrigin-RevId: 561108037
Change-Id: Idff65e288384cb55ce69f789db2d9374ae781d3d
|
|
|
|
|
|
|
|
|
| |
Using the non-temporal AVX engine for unknown CPU types looks like a mistake to
me, and the default built into the switch case is to use the fallback engine. I
don't think this is causing issues now, but it might once we add ARM support.
PiperOrigin-RevId: 561097994
Change-Id: I7f0edd447017c09acd49e4ea11476e32740d630a
|
|
|
|
|
| |
PiperOrigin-RevId: 561095618
Change-Id: I1834e0155b05b9984145504d5925dc6fa8a3933b
|
|
|
|
|
|
|
| |
a public member of the API.
PiperOrigin-RevId: 561061460
Change-Id: Ib804d3d3cf427ebfc9e622db9915287eb8045e26
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The legacy thread annotations were spellings that were not prefixed
with ABSL_ and caused conflicts with other libraries. These spellings
have been removed by default for a while, but could have been added
back with the temporary compile flag
-DABSL_LEGACY_THREAD_ANNOTATIONS. This change completely removes the
legacy spellings.
If you were relying on the legacy spellings, the fix is
straightforward. Simply add the ABSL_ prefix. For example,
GUARDED_BY() becomes ABSL_GUARDED_BY().
PiperOrigin-RevId: 560874026
Change-Id: Id072e67435472220ea4f43ccbf267028c13feba7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pure functions have no effects except to return a value, and their
return value depends only on the parameters and global
variables. Functions of this kind can be subject to data flow analysis
and might be eliminated. In practice, this means that repeated calls
to the same function with the same arguments may be optimized away and
only evaluated once.
Const functions are similar to pure functions, but may not depend on
global variables at all.
It is an error not to use the result of a function with one of these
attributes, since these functions have no other visible effects.
Since some Abseil functions are tagged with these attributes, this is
potentially a breaking change for code that doesn't use the result of
these functions.
For example, absl::Minutes() is tagged with
ABSL_ATTRIBUTE_CONST_FUNCTION. If, for example, the result of
absl::Minutes(n) is unused, some compilers with issue a warning or
error. If this is the case, it is likely that there is a typo in the
code, or the call can be removed.
PiperOrigin-RevId: 560803581
Change-Id: Icd6f218be2cfb7226f8ab6b2d97cd960c0d3d72f
|
|
|
|
|
| |
PiperOrigin-RevId: 560038034
Change-Id: I2c74d271b52faeefb6e8627d9830b2b53de64e73
|
|
|
|
|
|
|
| |
This project was never completed.
PiperOrigin-RevId: 559492534
Change-Id: Ie4e9661e25731418979ad10669ac946e1c4d60c2
|
|
|
|
|
| |
PiperOrigin-RevId: 559415517
Change-Id: I5bbc744bf00be2fd15ec7544b725d699e0d982fb
|
|
|
|
|
|
|
| |
it runs on non-dedicated Kokoro
PiperOrigin-RevId: 558874605
Change-Id: Iba35f558ab8c967f98a3176af056e76341fb67c3
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1520
Fixes #1519 and removes the burden of manually feature testing all the platforms supported by absl.
Merge 26bc4ee13a93edaeee2a21b5eff3569b806acc91 into 94b37802217a9c9bb182bd99d55096683ef45b2c
Merging this change closes #1520
COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1520 from georgthegreat:feature-test-macros 26bc4ee13a93edaeee2a21b5eff3569b806acc91
PiperOrigin-RevId: 558777775
Change-Id: Ie3e1f309761c67fa233a03e42762776cd93c69b4
|
|
|
|
|
|
|
| |
Some time ago the invariant for CRC cordreps was relaxed to allow for nullptr values on empty cords with an explicit empty CRC value. The CordzInfo analysis never checked for nullptr values causing cord sampling to crash if the sampling happened to include a (very unlikely) empty Cord value.
PiperOrigin-RevId: 558202613
Change-Id: Ib0e1eadd08047167e4df5d3035b36dca2c285a0d
|
|
|
|
|
|
|
|
|
| |
been GTest::gmock(_main) in log
#1515
PiperOrigin-RevId: 557942924
Change-Id: I117e7163de43455471fbfeed3cea3aebc3ac2d10
|
|
|
|
|
| |
PiperOrigin-RevId: 557920808
Change-Id: I1eb0ca1ea9e9de542321fbc23d82218c5d449fbf
|
|
|
|
|
|
|
|
|
|
| |
c154d20abce2f1ae6bd35bd774313e351493219b and add CMake
dependency on gmock
#1515
PiperOrigin-RevId: 557897123
Change-Id: I3f8bbcea1f4c293e073e1f77dbbf818ce2b167bd
|
|
|
|
|
| |
PiperOrigin-RevId: 557811632
Change-Id: I370fa17d2fb82a1f1ca86f84529bae31b34b18e4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
prior to 18.0 to workaround libc++ having the wrong signature for
these functions.
Upstream issue: https://github.com/llvm/llvm-project/issues/64544
The preprocessor conditions were inverted for readability as the
conditions became more complex.
PiperOrigin-RevId: 557559472
Change-Id: Ibf7a2651e13a0d2a91846bc0d72ba3a44f56747b
|
|
|
|
|
| |
PiperOrigin-RevId: 557523229
Change-Id: I959c0b0b14a4a96bee396d4bc09b80328060287d
|
|
|
|
|
| |
PiperOrigin-RevId: 557187112
Change-Id: I7c3e4be0ab5a7451173da7a0ded53a3d227bb093
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1509
WASI is similar to emscripten, providing a syscall layer to WebAssembly focused on server side applications. There are some config knobs that are in place to allow building the repo for emscripten which also need to support wasi (as built with LLVM). Aside from that, there are still some features it supports less than escripten, for example related to signals, causing the build to be even more limited for it.
Merge ec9fa081609687035005dfdafd312754f31c3fbb into 861e53c8f075c8c4d67bd4c82217c57239fc97cf
Merging this change closes #1509
COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1509 from anuraaga:wasi-sdk-build ec9fa081609687035005dfdafd312754f31c3fbb
PiperOrigin-RevId: 557166498
Change-Id: Ic51149d8b092fd888c9a5c383275257fc8ff4232
|
|
|
|
|
|
|
| |
complexity and no recursion (from 233 to 53.8 ns).
PiperOrigin-RevId: 557032497
Change-Id: I7a92feb3d79fa3dc1b7aa5b1097e53a9dae17c81
|
|
|
|
|
| |
PiperOrigin-RevId: 556914455
Change-Id: Ic0169e1099384eefe285e6d354e448eb5189e397
|
|
|
|
|
| |
PiperOrigin-RevId: 556898736
Change-Id: Ic310bab090d6a92036034058520ed6641be86fbc
|
|
|
|
|
|
|
| |
by avoiding a redundant map lookup.
PiperOrigin-RevId: 556816759
Change-Id: I971e428bf12d91720df72a91cc0bdf0513b0c270
|
|
|
|
|
| |
PiperOrigin-RevId: 556065631
Change-Id: I7e69b1495946c42fab185a1bc23e9564bfbd5e41
|
|
|
|
|
| |
PiperOrigin-RevId: 555894810
Change-Id: I349c94e7c6e7ba1dbd817aa8e4340c1dada84654
|
|
|
|
|
|
|
| |
The MediaPipe library calls absl::SleepFor() but that causes linker errors in Chrome's (non-production) shared library build because AbslInternalSleepFor isn't exported.
PiperOrigin-RevId: 555699667
Change-Id: I95033857ec13ed72ff2a80001878b5e35bbeee91
|
|
|
|
|
|
|
|
|
| |
Since ABSL_INTERNAL_HAVE_STDCPP_WAITER is defined on all systems
it is effectively a fallback. I left the condition there in case
we have to disable it on some platform in the future.
PiperOrigin-RevId: 555629066
Change-Id: I76ca78c7f36d1d02dc4950a44c66903a2aaf2a52
|
|
|
|
|
| |
PiperOrigin-RevId: 555515105
Change-Id: I00929a869880cddd932ed2a08adb8f762a582738
|
|
|
|
|
|
|
| |
ABSL_HAVE_FEATURE(cxx_rtti)
PiperOrigin-RevId: 555495363
Change-Id: I4f38bbffe1195ebdf26d7ed3bc92bc865dc8dd17
|
|
|
|
|
| |
PiperOrigin-RevId: 555205956
Change-Id: I935b95c29a8d5b69fe45cc0fe1aadb7106d31df3
|
|
|
|
|
| |
PiperOrigin-RevId: 555080884
Change-Id: I3f83fbeea1352587cf46fed83861cd7fb75655b0
|
|
|
|
|
| |
PiperOrigin-RevId: 554936252
Change-Id: Idb2ffbbc11aa6c98414fdd1ec38873d4687ab5e7
|
|
|
|
|
|
|
|
| |
* 'DoNotOptimize<T>' is deprecated: The const-ref version of this method can permit undesired compiler optimizations in benchmarks
* missing #include <string> for 'std::string'
PiperOrigin-RevId: 554936149
Change-Id: Iaf06cd9b9b0762e3a514b7e1cfe4a4fd6df24083
|
|
|
|
|
|
|
|
| |
* converting integer literal to bool, use bool literal instead
* use '= default' to define a trivial default constructor
PiperOrigin-RevId: 554935854
Change-Id: If16a435664641df049b8810044b34a05ea2b4028
|
|
|
|
|
| |
PiperOrigin-RevId: 554934635
Change-Id: Ia666bc28ee8ee84c633f365312760996f0816ca7
|
|
|
|
|
| |
PiperOrigin-RevId: 554898945
Change-Id: Id19acf5af56b1e7877cd73ac8420cf8e1a841b64
|
|
|
|
|
| |
PiperOrigin-RevId: 554854436
Change-Id: Ifbac5ba447528ac696ac59eced95fd752aacf4f9
|
|
|
|
|
| |
PiperOrigin-RevId: 554817008
Change-Id: If18f5992e2a65ce2e3e3cf7e0732767676c4320c
|
|
|
|
|
| |
PiperOrigin-RevId: 554552096
Change-Id: I0aa1bf705841c8bcee42bd33bc8d14bc15f2728b
|
|
|
|
|
|
|
| |
separate type anymore
PiperOrigin-RevId: 554462574
Change-Id: I749ae0308d76580a2264f35ee8df487da81e0f7b
|
|
|
|
|
|
|
|
|
|
| |
`DFATAL` is defined as `FATAL` in debug mode, and as `ERROR`
when `NDEBUG` is defined.
Closes #1279
PiperOrigin-RevId: 553904244
Change-Id: Iaa207ee65b2a39b4b7f5da241208c3d39cd5da0e
|
|
|
|
|
| |
PiperOrigin-RevId: 553878129
Change-Id: I054a5bd4c9011155c9fe03df0f07803ad7d2ade3
|
|
|
|
|
|
|
| |
sampling the current allocation.
PiperOrigin-RevId: 553847957
Change-Id: Idd131d0362bf36bd22d9bd20df54bd9ae50f0e28
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we require only a single bit to be set in each abstract bit for iterable bitmasks. However, in most cases, where we have a single match, or no matches in a group, iteration is not needed. We move the masking to the iteration function instead of having it as a requirement for iterable Bitmask construction.
This is 4-8% faster for Find and Insert operations.
This can hurt performance if we need to iterate many times (there are many matches in the same Group), however this is unlikely, even if we assume the table is completely full.
If there are 0 or 1 matches in a group, or the first match is the correct item we are looking for, we save 1 instruction/cycle (most cases)
If there are 2 matches in a group, and the first is a false positive, this is neutral (< 3%)
If there are more than 2 matches in a group and the first two are false positives, this can be slower by 1 cycle/instruction per additional iteration (< 0.1%)
No change to x86.
PiperOrigin-RevId: 553831814
Change-Id: I08620899847eaf0086da989d829a1029ea24173a
|
|
|
|
|
|
|
| |
the field and store it together with size_.
PiperOrigin-RevId: 553499768
Change-Id: Ia6eec6d580475a2b76a2415bfb35bcc08131ae34
|
|
|
|
|
| |
PiperOrigin-RevId: 553209806
Change-Id: I6828c3a5df1981471bca7f2f6cb16dfd60e77a96
|