- 08 Aug, 2023 2 commits
-
-
PiperOrigin-RevId: 554854436 Change-Id: Ifbac5ba447528ac696ac59eced95fd752aacf4f9
Dmitri Gribenko committed -
PiperOrigin-RevId: 554817008 Change-Id: If18f5992e2a65ce2e3e3cf7e0732767676c4320c
Derek Mauro committed
-
- 07 Aug, 2023 2 commits
-
-
PiperOrigin-RevId: 554552096 Change-Id: I0aa1bf705841c8bcee42bd33bc8d14bc15f2728b
Dmitri Gribenko committed -
PiperOrigin-RevId: 554462574 Change-Id: I749ae0308d76580a2264f35ee8df487da81e0f7b
Dmitri Gribenko committed
-
- 04 Aug, 2023 4 commits
-
-
`DFATAL` is defined as `FATAL` in debug mode, and as `ERROR` when `NDEBUG` is defined. Closes #1279 PiperOrigin-RevId: 553904244 Change-Id: Iaa207ee65b2a39b4b7f5da241208c3d39cd5da0e
Derek Mauro committed -
PiperOrigin-RevId: 553878129 Change-Id: I054a5bd4c9011155c9fe03df0f07803ad7d2ade3
Abseil Team committed -
Store infoz on the heap instead of inline and store it only when we are sampling the current allocation. PiperOrigin-RevId: 553847957 Change-Id: Idd131d0362bf36bd22d9bd20df54bd9ae50f0e28
Evan Brown committed -
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
Connal de Souza committed
-
- 03 Aug, 2023 1 commit
-
-
Update the comment for capacity_ to mention recent experiments to compress the field and store it together with size_. PiperOrigin-RevId: 553499768 Change-Id: Ia6eec6d580475a2b76a2415bfb35bcc08131ae34
Evan Brown committed
-
- 02 Aug, 2023 3 commits
-
-
PiperOrigin-RevId: 553209806 Change-Id: I6828c3a5df1981471bca7f2f6cb16dfd60e77a96
Abseil Team committed -
PiperOrigin-RevId: 553199830 Change-Id: Ida9fc1c51a39b8c21ffd34f95de076b1b21369bd
Derek Mauro committed -
PiperOrigin-RevId: 553158292 Change-Id: I28350321550accd72da2f9f6f5992af311fe4b00
Abseil Team committed
-
- 01 Aug, 2023 8 commits
-
-
PiperOrigin-RevId: 552940359 Change-Id: I925764757404c0c9f2a13ed729190d51f4ac46cf
Abseil Team committed -
PiperOrigin-RevId: 552927211 Change-Id: I0375d60a9df4cdfc694fe8d3b3d790f80fc614a1
Abseil Team committed -
Included are additional automated edits by clang-format on import. Merge d74896699faacc4a1667603e52e72cbdc8006cf6 into 22091f4c Merging this change closes #1500 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1500 from ryandesign:MAP_ANONYMOUS d74896699faacc4a1667603e52e72cbdc8006cf6 PiperOrigin-RevId: 552922776 Change-Id: I96a0395cb5e7156d7c7a889491c5d0b4cf755819
Ryan Schmidt committed -
PiperOrigin-RevId: 552901078 Change-Id: I137d01fe87b1bbf591b400305f6f7919982fc1c9
Dino Radakovic committed -
PiperOrigin-RevId: 552848883 Change-Id: Ibcf4b59e2ab671d8dd8fddcbc9d74d4c8cd3f0ff
Abseil Team committed -
as well. Some empty cases can trigger this. See also: https://clang.llvm.org/docs/ControlFlowIntegrity.html#bad-cast-checking. PiperOrigin-RevId: 552846765 Change-Id: I6adb3c0c73efec841ffe8fdac4342f641c68ddbe
Derek Mauro committed -
PiperOrigin-RevId: 552802740 Change-Id: I662da1b03bfffb7939b44ea3850566d3c209c6cc
Abseil Team committed -
PiperOrigin-RevId: 552638642 Change-Id: I6b43289ca10ee9aecd6b848e78471863b22b01d1
Abseil Team committed
-
- 31 Jul, 2023 3 commits
-
-
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1498 In Windows, a few libraries (`dbghelp`, `advapi32`, and `bcrypt`) are added via link options. However, the .pc files produced for pkg-config erroneously include them before the abseil libraries. This can cause undefined references when trying to build against abseil. This commit swaps the order and adds the custom link options after the abseil dependencies. The following is a list of `.pc` files affected by this and the additional link options used: * all: `-L${libdir}` * `absl_base.pc`: `-ladvapi32` * `absl_random_internal_seed_material.pc`: `-lbcrypt` * `absl_symbolize.pc`: `-ldbghelp` Closes https://github.com/abseil/abseil-cpp/issues/1497 Merge af61f6d5d5fa7b390fc2e009652cd6da68b0fd38 into c9c0fd51 Merging this change closes #1498 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1498 from stanhu:sh-fix-pc-link-order af61f6d5d5fa7b390fc2e009652cd6da68b0fd38 PiperOrigin-RevId: 552564626 Change-Id: I9d2a6ab99993bb4315dc94eade2cd419f1109c13
Stan Hu committed -
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1495 This fixes https://github.com/abseil/abseil-cpp/issues/1494 With CMake 3.24 we can also use `$<LINK_LIBRARY:FRAMEWORK,CoreFoundation>` but abseil is still at CMake 3.10 The change has been tested here: https://github.com/daschuer/vcpkg/actions/runs/5670741925 Merge f3ff6bc01ff45970d2b803ca51421483b423b72b into c9c0fd51 Merging this change closes #1495 COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1495 from daschuer:framework-link-fix f3ff6bc01ff45970d2b803ca51421483b423b72b PiperOrigin-RevId: 552564485 Change-Id: I57b580e5795c54865576110e56220128d8b603b8
Daniel Schürmann committed -
PiperOrigin-RevId: 552520562 Change-Id: I5d311871afbc2906894c3b754a503a6abace8ceb
Dino Radakovic committed
-
- 27 Jul, 2023 2 commits
-
-
Refactor raw_hash_set deallocation to pass CommonFields instead of passing the results of a bunch of accessors of CommonFields. Motivation: this makes it easier to refactor CommonFields to be smaller. PiperOrigin-RevId: 551616928 Change-Id: I3710443fb156537d716944584bea02f945559e99
Evan Brown committed -
heap allocation path. The cast occurs before the memory is initialized. See also: https://clang.llvm.org/docs/ControlFlowIntegrity.html#bad-cast-checking. PiperOrigin-RevId: 551542366 Change-Id: Id5834892c36a5cb8ec095bcfee3e9e31f20c48ae
Derek Mauro committed
-
- 26 Jul, 2023 3 commits
-
-
PiperOrigin-RevId: 551287955 Change-Id: Ic77831cec71f6ffe0a4e091baabe932b245269ea
Abseil Team committed -
Change the API constraints of erase(const_iterator, const_iterator) so that calling erase(begin(), end()) resets reserved growth. PiperOrigin-RevId: 551248712 Change-Id: I34755c63e3ee40da4ba7047e0d24eec567d28173
Evan Brown committed -
GetInlinedDataUninitialized() is removed. Just use GetInlinedData() in all cases instead. GetInlinedData() is sometimes used to return uninitialized memory. In these cases it is immediately constructed. This is a followup to 511ad649. See also: https://clang.llvm.org/docs/ControlFlowIntegrity.html#bad-cast-checking. PiperOrigin-RevId: 551205766 Change-Id: I4ddb45e29a723ccf6fc7dc203e762f4ad559fc83
Derek Mauro committed
-
- 25 Jul, 2023 2 commits
-
-
with a vtable The code is getting the pointer, then constructing it on the next line. Using reinterpret_cast on this pointer is legal according to https://clang.llvm.org/docs/ControlFlowIntegrity.html#bad-cast-checking, but it flags it anyway. The docs say it might be necessary for `allocate()`-type APIs, and recommends adding them to an ignorelist. Also note that std::addressof is removed. It is unnecessary since inlined_data is a char-array. PiperOrigin-RevId: 550972834 Change-Id: Ib224cec330bb6bcb770296de6c91881f404ef531
Derek Mauro committed -
PiperOrigin-RevId: 550964088 Change-Id: I54e4bff1cf72442c34e1668dbe8af9337eb0aa46
Abseil Team committed
-
- 21 Jul, 2023 1 commit
-
-
PiperOrigin-RevId: 549965642 Change-Id: I708dd56a36d60cbc00564fa789e1cb1ef37f950a
Richard Levasseur committed
-
- 20 Jul, 2023 1 commit
-
-
Add a special case for erase(begin(), end()) to reset the control bytes. The motivation is to avoid potentially expanding the table unnecessarily later. Note: I prefer doing this as a special case in erase(iterator, iterator) rather than special casing erase(iterator) for size==1 because IIUC that changes the time complexity of erase(iterator) from O(1) to O(N) and in pathological cases, it could change loops from O(N) to O(N^2). PiperOrigin-RevId: 549661855 Change-Id: I8603324260f51a98809db32f840ff09f25cf2481
Evan Brown committed
-
- 19 Jul, 2023 1 commit
-
-
Rename CommonFields::slots_ptr to slot_array to match the name of the corresponding function in raw_hash_set. PiperOrigin-RevId: 549379884 Change-Id: I305745dbea2c15821b2092441c9b4546fc7aabbe
Evan Brown committed
-
- 18 Jul, 2023 1 commit
-
-
Verifies that values other than 0 are prepended with "0x", while 0 is printed as "0000". PiperOrigin-RevId: 549108651 Change-Id: Ib0f87d42066c46f3a5d4b05ca5c9d7ac17be9b66
Phoebe Liang committed
-
- 17 Jul, 2023 2 commits
-
-
PiperOrigin-RevId: 548794485 Change-Id: Ie82d5f8ad752518ef05b38144ca1e32b21c9def8
Evan Brown committed -
PiperOrigin-RevId: 548709037 Change-Id: I6eb03553299265660aa0abc180ae0f197a416ba4
Abseil Team committed
-
- 14 Jul, 2023 1 commit
-
-
Ensure that the CHECK expression and message are stripped when FATAL is below ABSL_MIN_LOG_LEVEL. PiperOrigin-RevId: 548157637 Change-Id: I4308ff7ff75aabebdd2dcefa2771cd7e77112817
Abseil Team committed
-
- 13 Jul, 2023 2 commits
-
-
PiperOrigin-RevId: 547895328 Change-Id: If5da952604415fa6ed2402052f80add6c4b7dfb3
Abseil Team committed -
PiperOrigin-RevId: 547850162 Change-Id: I43208c7fa1eaa2a7acfad5891b80c150ee58c65f
Abseil Team committed
-
- 11 Jul, 2023 1 commit
-
-
depend on string_view without depending on all of //absl/strings:strings New code that uses string_view.h should depend on //absl/strings:string_view (Bazel) or absl::string_view (CMake) instead. PiperOrigin-RevId: 547283268 Change-Id: I6006b19605ce377d12c462129dda14251d16e1c1
Derek Mauro committed
-