- 05 Sep, 2023 4 commits
-
-
PiperOrigin-RevId: 562832827 Change-Id: If37f83e67b3b2ea350f74dd6bffae51ea5508f12
Evan Brown committed -
This change makes RepToPointer/PointerToRep have 0 instructions. This makes IsMovedFrom simpler (although this could always have left out the IsInlined check since that bit can never be set on the aligned pointer) In exchange, it makes CodeToInlinedRep slower, but does not inhibit replacing it with a constant. InlinedRepToCode is unaffected. PiperOrigin-RevId: 562826801 Change-Id: I2732f04ab293b773edc2efdec546b3a287b980c2
Abseil Team committed -
In some configurations this change causes compilation errors. We will roll this forward again after those issue are addressed. PiperOrigin-RevId: 562810916 Change-Id: I45b2a8d456273e9eff188f36da8f11323c4dfe66
Abseil Team committed -
This change replaces inline x86 intrinsics with generic versions that compile for both x86 and ARM depending on the target arch. This change does not enable the accelerated crc memcpy engine on ARM. That will be done in a subsequent change after the optimal number of vector and integer regions for different CPUs is determined. PiperOrigin-RevId: 562785420 Change-Id: I8ba4aa8de17587cedd92532f03767059a481f159
Abseil Team committed
-
- 01 Sep, 2023 1 commit
-
-
PiperOrigin-RevId: 561954737 Change-Id: I0e29a4f4523e4b3eafbd26d1d96f6e1c8deed957
Evan Brown committed
-
- 31 Aug, 2023 3 commits
-
-
Revise a comment regarding casting `memchr()`'s return type. The original comment seemed to suggest that the return type varies depending on the compiler and hence the `static_cast` is needed. PiperOrigin-RevId: 561706189 Change-Id: Ie244d235d082536edfca263d4165e16171cbc6c7
Abseil Team committed -
This bug does not affect any users currently since AcceleratedCrcMemcpyEngine is never configured with a single region currently. Before this CL, if the number of regions for the AcceleratedCrcMemcpyEngine was set to one, the CRC for the sole region would be incorrectly concatenated onto itself and corrupted. PiperOrigin-RevId: 561663848 Change-Id: Ibfc596306ab07db906d2e3ecf6eea3f6cb9f1b2b
Abseil Team committed -
Public functions are now available in //absl/base/prefetch.h PiperOrigin-RevId: 561649346 Change-Id: Ic377ad5f21c9a44ea1f213dec17f5cf97795ebde
Derek Mauro committed
-
- 30 Aug, 2023 5 commits
-
-
PiperOrigin-RevId: 561444343 Change-Id: I26c648b28b626e11caa32b0a34aef92932d5ddb9
Tomas Dzetkulic committed -
PiperOrigin-RevId: 561444259 Change-Id: I205ba9f11f4d41163ce74ae9cfa417fe500ccab3
Abseil Team committed -
There is a few cycles of overhead when transfering between GPR and Neon registers. We pay this cost for GroupAarch64Impl, largely because the speedup we get in Match() makes it profitable. After a Match call, if we do subsequent Group operations, we don't have to pay the full GPR <-> Neon cost, so it makes sense to do them with Neon instructions as well. However, in iteration and find_first_non_full(), we do not do a prior Match(), so the Mask/Count EmptyOrDeleted calls pay the full GPR <-> Neon cost. We can avoid this by using the GPR versions of the functions in the portable implementation of Group instead. We slightly change the order of operations in these functions (should be functionally a nop) in order to take advantage of Arm's free flexible second operand shifts with Logical operations. Iteration and Resize are roughly 8% and 12.6% faster respectively. This is not profitable on x86 because there is much lower GPR <-> xmm register latency and we use a 16-bit wide Group size. PiperOrigin-RevId: 561415183 Change-Id: I660b5bb84afedb05a12dcdf04d5b2e1514902760
Connal de Souza committed -
options.h was already included indirectly from config.h. This CL is just to include what you use. PiperOrigin-RevId: 561376910 Change-Id: I5b96b2aedc1e02eddc049f5bf0e6faa91799930d
Abseil Team committed -
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
Abseil Team committed
-
- 29 Aug, 2023 6 commits
-
-
PiperOrigin-RevId: 561119886 Change-Id: Ia1483fdb237f4b211068c7ad1f780ab3e6b81eca
Abseil Team committed -
PiperOrigin-RevId: 561108037 Change-Id: Idff65e288384cb55ce69f789db2d9374ae781d3d
Abseil Team committed -
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
Abseil Team committed -
PiperOrigin-RevId: 561095618 Change-Id: I1834e0155b05b9984145504d5925dc6fa8a3933b
Abseil Team committed -
Make raw_hash_set::destroy_slots no longer public. It was never meant to be a public member of the API. PiperOrigin-RevId: 561061460 Change-Id: Ib804d3d3cf427ebfc9e622db9915287eb8045e26
Evan Brown committed -
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
Derek Mauro committed
-
- 28 Aug, 2023 1 commit
-
-
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
Derek Mauro committed
-
- 25 Aug, 2023 1 commit
-
-
PiperOrigin-RevId: 560038034 Change-Id: I2c74d271b52faeefb6e8627d9830b2b53de64e73
Abseil Team committed
-
- 23 Aug, 2023 2 commits
-
-
This project was never completed. PiperOrigin-RevId: 559492534 Change-Id: Ie4e9661e25731418979ad10669ac946e1c4d60c2
Derek Mauro committed -
PiperOrigin-RevId: 559415517 Change-Id: I5bbc744bf00be2fd15ec7544b725d699e0d982fb
Abseil Team committed
-
- 21 Aug, 2023 2 commits
-
-
it runs on non-dedicated Kokoro PiperOrigin-RevId: 558874605 Change-Id: Iba35f558ab8c967f98a3176af056e76341fb67c3
Derek Mauro committed -
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 94b37802 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
Yuriy Chernyshov committed
-
- 18 Aug, 2023 1 commit
-
-
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
Martijn Vels committed
-
- 17 Aug, 2023 4 commits
-
-
been GTest::gmock(_main) in log #1515 PiperOrigin-RevId: 557942924 Change-Id: I117e7163de43455471fbfeed3cea3aebc3ac2d10
Derek Mauro committed -
PiperOrigin-RevId: 557920808 Change-Id: I1eb0ca1ea9e9de542321fbc23d82218c5d449fbf
Evan Brown committed -
c154d20a and add CMake dependency on gmock #1515 PiperOrigin-RevId: 557897123 Change-Id: I3f8bbcea1f4c293e073e1f77dbbf818ce2b167bd
Derek Mauro committed -
PiperOrigin-RevId: 557811632 Change-Id: I370fa17d2fb82a1f1ca86f84529bae31b34b18e4
Abseil Team committed
-
- 16 Aug, 2023 3 commits
-
-
The following are the major updates * LLVM 17 branch (https://github.com/llvm/llvm-project b744f4c99cf91155c74a3c92db6f1335232ff3d) * GCC 13.2 * CMake 3.27.1 * Bazel 6.2.1 PiperOrigin-RevId: 557594251 Change-Id: I86f72c8035ab4f3b9fe602bdaf3bfb8200ec3633
Derek Mauro committed -
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
Derek Mauro committed -
PiperOrigin-RevId: 557523229 Change-Id: I959c0b0b14a4a96bee396d4bc09b80328060287d
Abseil Team committed
-
- 15 Aug, 2023 3 commits
-
-
PiperOrigin-RevId: 557187112 Change-Id: I7c3e4be0ab5a7451173da7a0ded53a3d227bb093
Evan Brown committed -
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 861e53c8 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
Anuraag Agrawal committed -
Benchmark FNMatch, and use the greedy algorithm with better time and space complexity and no recursion (from 233 to 53.8 ns). PiperOrigin-RevId: 557032497 Change-Id: I7a92feb3d79fa3dc1b7aa5b1097e53a9dae17c81
Andy Getzendanner committed
-
- 14 Aug, 2023 3 commits
-
-
PiperOrigin-RevId: 556914455 Change-Id: Ic0169e1099384eefe285e6d354e448eb5189e397
Hannah Lin committed -
PiperOrigin-RevId: 556898736 Change-Id: Ic310bab090d6a92036034058520ed6641be86fbc
Andy Getzendanner committed -
Speed up kTotalMorePrecise mode of Cord::EstimatedMemoryUsage() by about 25% by avoiding a redundant map lookup. PiperOrigin-RevId: 556816759 Change-Id: I971e428bf12d91720df72a91cc0bdf0513b0c270
Abseil Team committed
-
- 11 Aug, 2023 1 commit
-
-
PiperOrigin-RevId: 556065631 Change-Id: I7e69b1495946c42fab185a1bc23e9564bfbd5e41
Evan Brown committed
-