Roll abseil_revision ec0d76f1d0..3e1983c5c0
Change Log:
https://chromium.googlesource.com/external/github.com/abseil/abseil-cpp/+log/ec0d76f1d0..3e1983c5c0
Full diff:
https://chromium.googlesource.com/external/github.com/abseil/abseil-cpp/+/ec0d76f1d0..3e1983c5c0
Bug: None
Change-Id: Ie7fc6d29a88e99dcf50185d1b93b16b5efda0293
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3308708
Reviewed-by: Danil Chapovalov <danilchap@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Cr-Commit-Position: refs/heads/main@{#947031}
NOKEYCHECK=True
GitOrigin-RevId: ae5544a8ae5eece5b364fe41a239ce5aa1225db8
diff --git a/README.chromium b/README.chromium
index 8926701..0b06673 100644
--- a/README.chromium
+++ b/README.chromium
@@ -4,7 +4,7 @@
License: Apache 2.0
License File: LICENSE
Version: 0
-Revision: ec0d76f1d012cc1a4b3b08dfafcfc5237f5ba2c9
+Revision: 3e1983c5c07eb8a43ad030e770cbae023a470a04
Security Critical: yes
Description:
diff --git a/absl/container/internal/hashtablez_sampler.cc b/absl/container/internal/hashtablez_sampler.cc
index 40cce04..1a3ca7c 100644
--- a/absl/container/internal/hashtablez_sampler.cc
+++ b/absl/container/internal/hashtablez_sampler.cc
@@ -38,12 +38,18 @@
false
};
ABSL_CONST_INIT std::atomic<int32_t> g_hashtablez_sample_parameter{1 << 10};
+std::atomic<HashtablezConfigListener> g_hashtablez_config_listener{nullptr};
#if defined(ABSL_INTERNAL_HASHTABLEZ_SAMPLE)
ABSL_PER_THREAD_TLS_KEYWORD absl::profiling_internal::ExponentialBiased
g_exponential_biased_generator;
#endif
+void TriggerHashtablezConfigListener() {
+ auto* listener = g_hashtablez_config_listener.load(std::memory_order_acquire);
+ if (listener != nullptr) listener();
+}
+
} // namespace
#if defined(ABSL_INTERNAL_HASHTABLEZ_SAMPLE)
@@ -163,11 +169,33 @@
info->size.fetch_add(1, std::memory_order_relaxed);
}
+void SetHashtablezConfigListener(HashtablezConfigListener l) {
+ g_hashtablez_config_listener.store(l, std::memory_order_release);
+}
+
+bool IsHashtablezEnabled() {
+ return g_hashtablez_enabled.load(std::memory_order_acquire);
+}
+
void SetHashtablezEnabled(bool enabled) {
+ SetHashtablezEnabledInternal(enabled);
+ TriggerHashtablezConfigListener();
+}
+
+void SetHashtablezEnabledInternal(bool enabled) {
g_hashtablez_enabled.store(enabled, std::memory_order_release);
}
+int32_t GetHashtablezSampleParameter() {
+ return g_hashtablez_sample_parameter.load(std::memory_order_acquire);
+}
+
void SetHashtablezSampleParameter(int32_t rate) {
+ SetHashtablezSampleParameterInternal(rate);
+ TriggerHashtablezConfigListener();
+}
+
+void SetHashtablezSampleParameterInternal(int32_t rate) {
if (rate > 0) {
g_hashtablez_sample_parameter.store(rate, std::memory_order_release);
} else {
@@ -176,7 +204,16 @@
}
}
+int32_t GetHashtablezMaxSamples() {
+ return GlobalHashtablezSampler().GetMaxSamples();
+}
+
void SetHashtablezMaxSamples(int32_t max) {
+ SetHashtablezMaxSamplesInternal(max);
+ TriggerHashtablezConfigListener();
+}
+
+void SetHashtablezMaxSamplesInternal(int32_t max) {
if (max > 0) {
GlobalHashtablezSampler().SetMaxSamples(max);
} else {
diff --git a/absl/container/internal/hashtablez_sampler.h b/absl/container/internal/hashtablez_sampler.h
index 91fcdb3..ee4d293 100644
--- a/absl/container/internal/hashtablez_sampler.h
+++ b/absl/container/internal/hashtablez_sampler.h
@@ -258,14 +258,23 @@
// Returns a global Sampler.
HashtablezSampler& GlobalHashtablezSampler();
+using HashtablezConfigListener = void (*)();
+void SetHashtablezConfigListener(HashtablezConfigListener l);
+
// Enables or disables sampling for Swiss tables.
+bool IsHashtablezEnabled();
void SetHashtablezEnabled(bool enabled);
+void SetHashtablezEnabledInternal(bool enabled);
// Sets the rate at which Swiss tables will be sampled.
+int32_t GetHashtablezSampleParameter();
void SetHashtablezSampleParameter(int32_t rate);
+void SetHashtablezSampleParameterInternal(int32_t rate);
// Sets a soft max for the number of samples that will be kept.
+int32_t GetHashtablezMaxSamples();
void SetHashtablezMaxSamples(int32_t max);
+void SetHashtablezMaxSamplesInternal(int32_t max);
// Configuration override.
// This allows process-wide sampling without depending on order of
diff --git a/absl/profiling/internal/sample_recorder.h b/absl/profiling/internal/sample_recorder.h
index 5e04a9c..6c14621 100644
--- a/absl/profiling/internal/sample_recorder.h
+++ b/absl/profiling/internal/sample_recorder.h
@@ -75,6 +75,7 @@
// samples that have been dropped.
int64_t Iterate(const std::function<void(const T& stack)>& f);
+ int32_t GetMaxSamples() const;
void SetMaxSamples(int32_t max);
private:
@@ -223,6 +224,11 @@
max_samples_.store(max, std::memory_order_release);
}
+template <typename T>
+int32_t SampleRecorder<T>::GetMaxSamples() const {
+ return max_samples_.load(std::memory_order_acquire);
+}
+
} // namespace profiling_internal
ABSL_NAMESPACE_END
} // namespace absl
diff --git a/absl/strings/BUILD.bazel b/absl/strings/BUILD.bazel
index 4e37151..5d433cc 100644
--- a/absl/strings/BUILD.bazel
+++ b/absl/strings/BUILD.bazel
@@ -436,6 +436,7 @@
"//absl/container:inlined_vector",
"//absl/functional:function_ref",
"//absl/meta:type_traits",
+ "//absl/numeric:bits",
"//absl/types:optional",
"//absl/types:span",
],
diff --git a/absl/strings/BUILD.gn b/absl/strings/BUILD.gn
index 5f382df..f93dcb7 100644
--- a/absl/strings/BUILD.gn
+++ b/absl/strings/BUILD.gn
@@ -252,6 +252,7 @@
"//third_party/abseil-cpp/absl/container:inlined_vector",
"//third_party/abseil-cpp/absl/functional:function_ref",
"//third_party/abseil-cpp/absl/meta:type_traits",
+ "//third_party/abseil-cpp/absl/numeric:bits",
"//third_party/abseil-cpp/absl/types:optional",
"//third_party/abseil-cpp/absl/types:span",
]
diff --git a/absl/strings/cord.h b/absl/strings/cord.h
index 662e889..27d3475 100644
--- a/absl/strings/cord.h
+++ b/absl/strings/cord.h
@@ -70,6 +70,7 @@
#include <string>
#include <type_traits>
+#include "absl/base/attributes.h"
#include "absl/base/config.h"
#include "absl/base/internal/endian.h"
#include "absl/base/internal/per_thread_tls.h"
@@ -215,7 +216,7 @@
//
// Releases the Cord data. Any nodes that share data with other Cords, if
// applicable, will have their reference counts reduced by 1.
- void Clear();
+ ABSL_ATTRIBUTE_REINITIALIZES void Clear();
// Cord::Append()
//
diff --git a/absl/strings/cord_test.cc b/absl/strings/cord_test.cc
index 8a31179..ea865cc 100644
--- a/absl/strings/cord_test.cc
+++ b/absl/strings/cord_test.cc
@@ -49,6 +49,11 @@
typedef std::mt19937_64 RandomEngine;
+using absl::cord_internal::CordRep;
+using absl::cord_internal::CordRepFlat;
+using absl::cord_internal::kFlatOverhead;
+using absl::cord_internal::kMaxFlatLength;
+
static std::string RandomLowercaseString(RandomEngine* rng);
static std::string RandomLowercaseString(RandomEngine* rng, size_t length);
@@ -266,10 +271,6 @@
TEST(CordRepFlat, AllFlatCapacities) {
- using absl::cord_internal::CordRep;
- using absl::cord_internal::CordRepFlat;
- using absl::cord_internal::kFlatOverhead;
-
// Explicitly and redundantly assert built-in min/max limits
static_assert(absl::cord_internal::kFlatOverhead < 32, "");
static_assert(absl::cord_internal::kMinFlatSize == 32, "");
@@ -310,9 +311,6 @@
}
TEST(CordRepFlat, MaxFlatSize) {
- using absl::cord_internal::CordRep;
- using absl::cord_internal::CordRepFlat;
- using absl::cord_internal::kMaxFlatLength;
CordRepFlat* flat = CordRepFlat::New(kMaxFlatLength);
EXPECT_EQ(flat->Capacity(), kMaxFlatLength);
CordRep::Unref(flat);
@@ -323,15 +321,23 @@
}
TEST(CordRepFlat, MaxLargeFlatSize) {
- using absl::cord_internal::CordRep;
- using absl::cord_internal::CordRepFlat;
- using absl::cord_internal::kFlatOverhead;
const size_t size = 256 * 1024 - kFlatOverhead;
CordRepFlat* flat = CordRepFlat::New(CordRepFlat::Large(), size);
EXPECT_GE(flat->Capacity(), size);
CordRep::Unref(flat);
}
+TEST(CordRepFlat, AllFlatSizes) {
+ const size_t kMaxSize = 256 * 1024;
+ for (size_t size = 32; size <= kMaxSize; size *=2) {
+ const size_t length = size - kFlatOverhead - 1;
+ CordRepFlat* flat = CordRepFlat::New(CordRepFlat::Large(), length);
+ EXPECT_GE(flat->Capacity(), length);
+ memset(flat->Data(), 0xCD, flat->Capacity());
+ CordRep::Unref(flat);
+ }
+}
+
TEST_P(CordTest, AllFlatSizes) {
using absl::strings_internal::CordTestAccess;
diff --git a/absl/strings/internal/cord_rep_flat.h b/absl/strings/internal/cord_rep_flat.h
index a15c9ac..ae8b3a2 100644
--- a/absl/strings/internal/cord_rep_flat.h
+++ b/absl/strings/internal/cord_rep_flat.h
@@ -20,6 +20,8 @@
#include <cstdint>
#include <memory>
+#include "absl/base/config.h"
+#include "absl/base/macros.h"
#include "absl/strings/internal/cord_internal.h"
namespace absl {
@@ -105,8 +107,8 @@
struct Large {};
// Creates a new flat node.
- template <size_t max_flat_size>
- static CordRepFlat* NewImpl(size_t len) {
+ template <size_t max_flat_size, typename... Args>
+ static CordRepFlat* NewImpl(size_t len, Args... args ABSL_ATTRIBUTE_UNUSED) {
if (len <= kMinFlatLength) {
len = kMinFlatLength;
} else if (len > max_flat_size - kFlatOverhead) {
diff --git a/absl/strings/internal/str_join_internal.h b/absl/strings/internal/str_join_internal.h
index 31dbf67..d97d503 100644
--- a/absl/strings/internal/str_join_internal.h
+++ b/absl/strings/internal/str_join_internal.h
@@ -229,10 +229,11 @@
std::string result;
if (start != end) {
// Sums size
- size_t result_size = start->size();
+ auto&& start_value = *start;
+ size_t result_size = start_value.size();
for (Iterator it = start; ++it != end;) {
result_size += s.size();
- result_size += it->size();
+ result_size += (*it).size();
}
if (result_size > 0) {
@@ -240,13 +241,15 @@
// Joins strings
char* result_buf = &*result.begin();
- memcpy(result_buf, start->data(), start->size());
- result_buf += start->size();
+
+ memcpy(result_buf, start_value.data(), start_value.size());
+ result_buf += start_value.size();
for (Iterator it = start; ++it != end;) {
memcpy(result_buf, s.data(), s.size());
result_buf += s.size();
- memcpy(result_buf, it->data(), it->size());
- result_buf += it->size();
+ auto&& value = *it;
+ memcpy(result_buf, value.data(), value.size());
+ result_buf += value.size();
}
}
}
diff --git a/absl/strings/str_join_test.cc b/absl/strings/str_join_test.cc
index 2be6256..c986e86 100644
--- a/absl/strings/str_join_test.cc
+++ b/absl/strings/str_join_test.cc
@@ -21,6 +21,7 @@
#include <cstdio>
#include <functional>
#include <initializer_list>
+#include <iterator>
#include <map>
#include <memory>
#include <ostream>
@@ -33,6 +34,7 @@
#include "absl/memory/memory.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_split.h"
+#include "absl/strings/string_view.h"
namespace {
@@ -471,4 +473,136 @@
"-", absl::DereferenceFormatter(TestFormatter())));
}
+// A minimal value type for `StrJoin` inputs.
+// Used to ensure we do not excessively require more a specific type, such as a
+// `string_view`.
+//
+// Anything that can be `data()` and `size()` is OK.
+class TestValue {
+ public:
+ TestValue(const char* data, size_t size) : data_(data), size_(size) {}
+ const char* data() const { return data_; }
+ size_t size() const { return size_; }
+
+ private:
+ const char* data_;
+ size_t size_;
+};
+
+// A minimal C++20 forward iterator, used to test that we do not impose
+// excessive requirements on StrJoin inputs.
+//
+// The 2 main differences between pre-C++20 LegacyForwardIterator and the
+// C++20 ForwardIterator are:
+// 1. `operator->` is not required in C++20.
+// 2. `operator*` result does not need to be an lvalue (a reference).
+//
+// The `operator->` requirement was removed on page 17 in:
+// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1037r0.pdf
+//
+// See the `[iterator.requirements]` section of the C++ standard.
+//
+// The value type is a template parameter so that we can test the behaviour
+// of `StrJoin` specializations, e.g. the NoFormatter specialization for
+// `string_view`.
+template <typename ValueT>
+class TestIterator {
+ public:
+ using iterator_category = std::forward_iterator_tag;
+ using value_type = ValueT;
+ using pointer = void;
+ using reference = const value_type&;
+ using difference_type = int;
+
+ // `data` must outlive the result.
+ static TestIterator begin(const std::vector<absl::string_view>& data) {
+ return TestIterator(&data, 0);
+ }
+
+ static TestIterator end(const std::vector<absl::string_view>& data) {
+ return TestIterator(nullptr, data.size());
+ }
+
+ bool operator==(const TestIterator& other) const {
+ return pos_ == other.pos_;
+ }
+ bool operator!=(const TestIterator& other) const {
+ return pos_ != other.pos_;
+ }
+
+ // This deliberately returns a `prvalue`.
+ // The requirement to return a reference was removed in C++20.
+ value_type operator*() const {
+ return ValueT((*data_)[pos_].data(), (*data_)[pos_].size());
+ }
+
+ // `operator->()` is deliberately omitted.
+ // The requirement to provide it was removed in C++20.
+
+ TestIterator& operator++() {
+ ++pos_;
+ return *this;
+ }
+
+ TestIterator operator++(int) {
+ TestIterator result = *this;
+ ++(*this);
+ return result;
+ }
+
+ TestIterator& operator--() {
+ --pos_;
+ return *this;
+ }
+
+ TestIterator operator--(int) {
+ TestIterator result = *this;
+ --(*this);
+ return result;
+ }
+
+ private:
+ TestIterator(const std::vector<absl::string_view>* data, size_t pos)
+ : data_(data), pos_(pos) {}
+
+ const std::vector<absl::string_view>* data_;
+ size_t pos_;
+};
+
+template <typename ValueT>
+class TestIteratorRange {
+ public:
+ // `data` must be non-null and must outlive the result.
+ explicit TestIteratorRange(const std::vector<absl::string_view>& data)
+ : begin_(TestIterator<ValueT>::begin(data)),
+ end_(TestIterator<ValueT>::end(data)) {}
+
+ const TestIterator<ValueT>& begin() const { return begin_; }
+ const TestIterator<ValueT>& end() const { return end_; }
+
+ private:
+ TestIterator<ValueT> begin_;
+ TestIterator<ValueT> end_;
+};
+
+TEST(StrJoin, TestIteratorRequirementsNoFormatter) {
+ const std::vector<absl::string_view> a = {"a", "b", "c"};
+
+ // When the value type is string-like (`std::string` or `string_view`),
+ // the NoFormatter template specialization is used internally.
+ EXPECT_EQ("a-b-c",
+ absl::StrJoin(TestIteratorRange<absl::string_view>(a), "-"));
+}
+
+TEST(StrJoin, TestIteratorRequirementsCustomFormatter) {
+ const std::vector<absl::string_view> a = {"a", "b", "c"};
+ EXPECT_EQ("a-b-c",
+ absl::StrJoin(TestIteratorRange<TestValue>(a), "-",
+ [](std::string* out, const TestValue& value) {
+ absl::StrAppend(
+ out,
+ absl::string_view(value.data(), value.size()));
+ }));
+}
+
} // namespace
diff --git a/symbols_arm64_dbg.def b/symbols_arm64_dbg.def
index 0be6c9c..e2d9b36 100644
--- a/symbols_arm64_dbg.def
+++ b/symbols_arm64_dbg.def
@@ -397,7 +397,7 @@
??$Nanoseconds@H$0A@@absl@@YA?AVDuration@0@H@Z
??$Nanoseconds@J$0A@@absl@@YA?AVDuration@0@J@Z
??$Nanoseconds@_J$0A@@absl@@YA?AVDuration@0@_J@Z
- ??$NewImpl@$0BAAA@@CordRepFlat@cord_internal@absl@@SAPEAU012@_K@Z
+ ??$NewImpl@$0BAAA@$$V@CordRepFlat@cord_internal@absl@@SAPEAU012@_K@Z
??$NewLeaf@$00@CordRepBtree@cord_internal@absl@@CAPEAV012@Vstring_view@2@_K@Z
??$NewLeaf@$0A@@CordRepBtree@cord_internal@absl@@CAPEAV012@Vstring_view@2@_K@Z
??$Offset@$00$0A@@?$LayoutImpl@V?$tuple@_KPEAUCordRep@cord_internal@absl@@I@__1@std@@U?$integer_sequence@_K$0A@$00$01@absl@@U45@@internal_layout@container_internal@absl@@QEBA_KXZ
@@ -2021,6 +2021,8 @@
?GetFirstChunk@Cord@absl@@CA?AVstring_view@2@AEBV12@@Z
?GetFirstChunk@Cord@absl@@CA?AVstring_view@2@V32@@Z
?GetFlatAux@Cord@absl@@CA_NPEAUCordRep@cord_internal@2@PEAVstring_view@2@@Z
+ ?GetHashtablezMaxSamples@container_internal@absl@@YAHXZ
+ ?GetHashtablezSampleParameter@container_internal@absl@@YAHXZ
?GetId@GraphCycles@synchronization_internal@absl@@QEAA?AUGraphId@23@PEAX@Z
?GetInlinedCapacity@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEBA_KXZ
?GetInlinedCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBA_KXZ
@@ -2046,6 +2048,7 @@
?GetIsAllocated@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBA_NXZ
?GetLeafData@CordRepRing@cord_internal@absl@@SAPEBDPEBUCordRep@23@@Z
?GetLock@WinHelper@Waiter@synchronization_internal@absl@@SAPEAU_RTL_SRWLOCK@@PEAV234@@Z
+ ?GetMaxSamples@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@QEBAHXZ
?GetOrCreateCurrentThreadIdentity@synchronization_internal@absl@@YAPEAUThreadIdentity@base_internal@2@XZ
?GetParentMethod@CordzInfo@cord_internal@absl@@CA?AW4MethodIdentifier@CordzUpdateTracker@23@PEBV123@@Z
?GetParentStack@CordzInfo@cord_internal@absl@@QEBA?AV?$Span@QEAX@3@XZ
@@ -2160,6 +2163,7 @@
?IsFlat@CordRep@cord_internal@absl@@QEBA_NXZ
?IsFlat@CordRepBtree@cord_internal@absl@@QEBA_NPEAVstring_view@3@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QEBA_N_K0PEAVstring_view@3@@Z
+ ?IsHashtablezEnabled@container_internal@absl@@YA_NXZ
?IsImmortal@RefcountAndFlags@cord_internal@absl@@QEBA_NXZ
?IsInfiniteDuration@time_internal@absl@@YA_NVDuration@2@@Z
?IsInlined@Status@absl@@CA_N_K@Z
@@ -2434,9 +2438,13 @@
?SetCurrentThreadIdentity@base_internal@absl@@YAXPEAUThreadIdentity@12@P6AXPEAX@Z@Z
?SetExpectedChecksum@Cord@absl@@QEAAXI@Z
?SetFlags@FormatConversionSpecImplFriend@str_format_internal@absl@@SAXW4Flags@23@PEAVFormatConversionSpecImpl@23@@Z
+ ?SetHashtablezConfigListener@container_internal@absl@@YAXP6AXXZ@Z
?SetHashtablezEnabled@container_internal@absl@@YAX_N@Z
+ ?SetHashtablezEnabledInternal@container_internal@absl@@YAX_N@Z
?SetHashtablezMaxSamples@container_internal@absl@@YAXH@Z
+ ?SetHashtablezMaxSamplesInternal@container_internal@absl@@YAXH@Z
?SetHashtablezSampleParameter@container_internal@absl@@YAXH@Z
+ ?SetHashtablezSampleParameterInternal@container_internal@absl@@YAXH@Z
?SetIsAllocated@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAAXXZ
?SetIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXXZ
?SetIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXXZ
diff --git a/symbols_arm64_rel.def b/symbols_arm64_rel.def
index 5b908f7..b41a9d4 100644
--- a/symbols_arm64_rel.def
+++ b/symbols_arm64_rel.def
@@ -72,7 +72,7 @@
??$GenericCompare@_NVstring_view@absl@@@absl@@YA_NAEBVCord@0@AEBVstring_view@0@_K@Z
??$Merge@$00@CordRepBtree@cord_internal@absl@@CAPEAV012@PEAV012@0@Z
??$Merge@$0A@@CordRepBtree@cord_internal@absl@@CAPEAV012@PEAV012@0@Z
- ??$NewImpl@$0BAAA@@CordRepFlat@cord_internal@absl@@SAPEAU012@_K@Z
+ ??$NewImpl@$0BAAA@$$V@CordRepFlat@cord_internal@absl@@SAPEAU012@_K@Z
??$NewLeaf@$00@CordRepBtree@cord_internal@absl@@CAPEAV012@Vstring_view@2@_K@Z
??$NewLeaf@$0A@@CordRepBtree@cord_internal@absl@@CAPEAV012@Vstring_view@2@_K@Z
??$ParseFloat@$09@strings_internal@absl@@YA?AUParsedFloat@01@PEBD0W4chars_format@1@@Z
@@ -458,6 +458,8 @@
?GetCordzStatistics@CordzInfo@cord_internal@absl@@QEBA?AUCordzStatistics@23@XZ
?GetCurrentTimeNanos@absl@@YA_JXZ
?GetFlatAux@Cord@absl@@CA_NPEAUCordRep@cord_internal@2@PEAVstring_view@2@@Z
+ ?GetHashtablezMaxSamples@container_internal@absl@@YAHXZ
+ ?GetHashtablezSampleParameter@container_internal@absl@@YAHXZ
?GetId@GraphCycles@synchronization_internal@absl@@QEAA?AUGraphId@23@PEAX@Z
?GetParentMethod@CordzInfo@cord_internal@absl@@CA?AW4MethodIdentifier@CordzUpdateTracker@23@PEBV123@@Z
?GetParentStack@CordzInfo@cord_internal@absl@@QEBA?AV?$Span@QEAX@3@XZ
@@ -510,6 +512,7 @@
?IsFailedPrecondition@absl@@YA_NAEBVStatus@1@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QEBA_NPEAVstring_view@3@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QEBA_N_K0PEAVstring_view@3@@Z
+ ?IsHashtablezEnabled@container_internal@absl@@YA_NXZ
?IsInternal@absl@@YA_NAEBVStatus@1@@Z
?IsInvalidArgument@absl@@YA_NAEBVStatus@1@@Z
?IsNotFound@absl@@YA_NAEBVStatus@1@@Z
@@ -671,9 +674,13 @@
?SetCapacityForTesting@CordRepRing@cord_internal@absl@@QEAAX_K@Z
?SetCurrentThreadIdentity@base_internal@absl@@YAXPEAUThreadIdentity@12@P6AXPEAX@Z@Z
?SetExpectedChecksum@Cord@absl@@QEAAXI@Z
+ ?SetHashtablezConfigListener@container_internal@absl@@YAXP6AXXZ@Z
?SetHashtablezEnabled@container_internal@absl@@YAX_N@Z
+ ?SetHashtablezEnabledInternal@container_internal@absl@@YAX_N@Z
?SetHashtablezMaxSamples@container_internal@absl@@YAXH@Z
+ ?SetHashtablezMaxSamplesInternal@container_internal@absl@@YAXH@Z
?SetHashtablezSampleParameter@container_internal@absl@@YAXH@Z
+ ?SetHashtablezSampleParameterInternal@container_internal@absl@@YAXH@Z
?SetMutexDeadlockDetectionMode@absl@@YAXW4OnDeadlockCycle@1@@Z
?SetPayload@Status@absl@@QEAAXVstring_view@2@VCord@2@@Z
?SetStackUnwinder@absl@@YAXP6AHPEAPEAXPEAHHHPEBX1@Z@Z
diff --git a/symbols_x64_dbg.def b/symbols_x64_dbg.def
index 9252911..818fc56 100644
--- a/symbols_x64_dbg.def
+++ b/symbols_x64_dbg.def
@@ -397,7 +397,7 @@
??$Nanoseconds@H$0A@@absl@@YA?AVDuration@0@H@Z
??$Nanoseconds@J$0A@@absl@@YA?AVDuration@0@J@Z
??$Nanoseconds@_J$0A@@absl@@YA?AVDuration@0@_J@Z
- ??$NewImpl@$0BAAA@@CordRepFlat@cord_internal@absl@@SAPEAU012@_K@Z
+ ??$NewImpl@$0BAAA@$$V@CordRepFlat@cord_internal@absl@@SAPEAU012@_K@Z
??$NewLeaf@$00@CordRepBtree@cord_internal@absl@@CAPEAV012@Vstring_view@2@_K@Z
??$NewLeaf@$0A@@CordRepBtree@cord_internal@absl@@CAPEAV012@Vstring_view@2@_K@Z
??$Offset@$00$0A@@?$LayoutImpl@V?$tuple@_KPEAUCordRep@cord_internal@absl@@I@__1@std@@U?$integer_sequence@_K$0A@$00$01@absl@@U45@@internal_layout@container_internal@absl@@QEBA_KXZ
@@ -2024,6 +2024,8 @@
?GetFirstChunk@Cord@absl@@CA?AVstring_view@2@AEBV12@@Z
?GetFirstChunk@Cord@absl@@CA?AVstring_view@2@V32@@Z
?GetFlatAux@Cord@absl@@CA_NPEAUCordRep@cord_internal@2@PEAVstring_view@2@@Z
+ ?GetHashtablezMaxSamples@container_internal@absl@@YAHXZ
+ ?GetHashtablezSampleParameter@container_internal@absl@@YAHXZ
?GetId@GraphCycles@synchronization_internal@absl@@QEAA?AUGraphId@23@PEAX@Z
?GetInlinedCapacity@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEBA_KXZ
?GetInlinedCapacity@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBA_KXZ
@@ -2049,6 +2051,7 @@
?GetIsAllocated@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QEBA_NXZ
?GetLeafData@CordRepRing@cord_internal@absl@@SAPEBDPEBUCordRep@23@@Z
?GetLock@WinHelper@Waiter@synchronization_internal@absl@@SAPEAU_RTL_SRWLOCK@@PEAV234@@Z
+ ?GetMaxSamples@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@QEBAHXZ
?GetOrCreateCurrentThreadIdentity@synchronization_internal@absl@@YAPEAUThreadIdentity@base_internal@2@XZ
?GetParentMethod@CordzInfo@cord_internal@absl@@CA?AW4MethodIdentifier@CordzUpdateTracker@23@PEBV123@@Z
?GetParentStack@CordzInfo@cord_internal@absl@@QEBA?AV?$Span@QEAX@3@XZ
@@ -2163,6 +2166,7 @@
?IsFlat@CordRep@cord_internal@absl@@QEBA_NXZ
?IsFlat@CordRepBtree@cord_internal@absl@@QEBA_NPEAVstring_view@3@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QEBA_N_K0PEAVstring_view@3@@Z
+ ?IsHashtablezEnabled@container_internal@absl@@YA_NXZ
?IsImmortal@RefcountAndFlags@cord_internal@absl@@QEBA_NXZ
?IsInfiniteDuration@time_internal@absl@@YA_NVDuration@2@@Z
?IsInlined@Status@absl@@CA_N_K@Z
@@ -2436,9 +2440,13 @@
?SetCurrentThreadIdentity@base_internal@absl@@YAXPEAUThreadIdentity@12@P6AXPEAX@Z@Z
?SetExpectedChecksum@Cord@absl@@QEAAXI@Z
?SetFlags@FormatConversionSpecImplFriend@str_format_internal@absl@@SAXW4Flags@23@PEAVFormatConversionSpecImpl@23@@Z
+ ?SetHashtablezConfigListener@container_internal@absl@@YAXP6AXXZ@Z
?SetHashtablezEnabled@container_internal@absl@@YAX_N@Z
+ ?SetHashtablezEnabledInternal@container_internal@absl@@YAX_N@Z
?SetHashtablezMaxSamples@container_internal@absl@@YAXH@Z
+ ?SetHashtablezMaxSamplesInternal@container_internal@absl@@YAXH@Z
?SetHashtablezSampleParameter@container_internal@absl@@YAXH@Z
+ ?SetHashtablezSampleParameterInternal@container_internal@absl@@YAXH@Z
?SetIsAllocated@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QEAAXXZ
?SetIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$01V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXXZ
?SetIsAllocated@?$Storage@PEAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PEAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QEAAXXZ
diff --git a/symbols_x64_rel.def b/symbols_x64_rel.def
index 48ef3d2..e959618 100644
--- a/symbols_x64_rel.def
+++ b/symbols_x64_rel.def
@@ -72,7 +72,7 @@
??$GenericCompare@_NVstring_view@absl@@@absl@@YA_NAEBVCord@0@AEBVstring_view@0@_K@Z
??$Merge@$00@CordRepBtree@cord_internal@absl@@CAPEAV012@PEAV012@0@Z
??$Merge@$0A@@CordRepBtree@cord_internal@absl@@CAPEAV012@PEAV012@0@Z
- ??$NewImpl@$0BAAA@@CordRepFlat@cord_internal@absl@@SAPEAU012@_K@Z
+ ??$NewImpl@$0BAAA@$$V@CordRepFlat@cord_internal@absl@@SAPEAU012@_K@Z
??$NewLeaf@$00@CordRepBtree@cord_internal@absl@@CAPEAV012@Vstring_view@2@_K@Z
??$NewLeaf@$0A@@CordRepBtree@cord_internal@absl@@CAPEAV012@Vstring_view@2@_K@Z
??$ParseFloat@$09@strings_internal@absl@@YA?AUParsedFloat@01@PEBD0W4chars_format@1@@Z
@@ -458,6 +458,8 @@
?GetCordzStatistics@CordzInfo@cord_internal@absl@@QEBA?AUCordzStatistics@23@XZ
?GetCurrentTimeNanos@absl@@YA_JXZ
?GetFlatAux@Cord@absl@@CA_NPEAUCordRep@cord_internal@2@PEAVstring_view@2@@Z
+ ?GetHashtablezMaxSamples@container_internal@absl@@YAHXZ
+ ?GetHashtablezSampleParameter@container_internal@absl@@YAHXZ
?GetId@GraphCycles@synchronization_internal@absl@@QEAA?AUGraphId@23@PEAX@Z
?GetParentMethod@CordzInfo@cord_internal@absl@@CA?AW4MethodIdentifier@CordzUpdateTracker@23@PEBV123@@Z
?GetParentStack@CordzInfo@cord_internal@absl@@QEBA?AV?$Span@QEAX@3@XZ
@@ -510,6 +512,7 @@
?IsFailedPrecondition@absl@@YA_NAEBVStatus@1@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QEBA_NPEAVstring_view@3@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QEBA_N_K0PEAVstring_view@3@@Z
+ ?IsHashtablezEnabled@container_internal@absl@@YA_NXZ
?IsInternal@absl@@YA_NAEBVStatus@1@@Z
?IsInvalidArgument@absl@@YA_NAEBVStatus@1@@Z
?IsNotFound@absl@@YA_NAEBVStatus@1@@Z
@@ -672,9 +675,13 @@
?SetCapacityForTesting@CordRepRing@cord_internal@absl@@QEAAX_K@Z
?SetCurrentThreadIdentity@base_internal@absl@@YAXPEAUThreadIdentity@12@P6AXPEAX@Z@Z
?SetExpectedChecksum@Cord@absl@@QEAAXI@Z
+ ?SetHashtablezConfigListener@container_internal@absl@@YAXP6AXXZ@Z
?SetHashtablezEnabled@container_internal@absl@@YAX_N@Z
+ ?SetHashtablezEnabledInternal@container_internal@absl@@YAX_N@Z
?SetHashtablezMaxSamples@container_internal@absl@@YAXH@Z
+ ?SetHashtablezMaxSamplesInternal@container_internal@absl@@YAXH@Z
?SetHashtablezSampleParameter@container_internal@absl@@YAXH@Z
+ ?SetHashtablezSampleParameterInternal@container_internal@absl@@YAXH@Z
?SetMutexDeadlockDetectionMode@absl@@YAXW4OnDeadlockCycle@1@@Z
?SetPayload@Status@absl@@QEAAXVstring_view@2@VCord@2@@Z
?SetStackUnwinder@absl@@YAXP6AHPEAPEAXPEAHHHPEBX1@Z@Z
diff --git a/symbols_x64_rel_asan.def b/symbols_x64_rel_asan.def
index 06fac34..c0c76d9 100644
--- a/symbols_x64_rel_asan.def
+++ b/symbols_x64_rel_asan.def
@@ -71,7 +71,7 @@
??$GenericCompare@_NVstring_view@absl@@@absl@@YA_NAEBVCord@0@AEBVstring_view@0@_K@Z
??$Merge@$00@CordRepBtree@cord_internal@absl@@CAPEAV012@PEAV012@0@Z
??$Merge@$0A@@CordRepBtree@cord_internal@absl@@CAPEAV012@PEAV012@0@Z
- ??$NewImpl@$0BAAA@@CordRepFlat@cord_internal@absl@@SAPEAU012@_K@Z
+ ??$NewImpl@$0BAAA@$$V@CordRepFlat@cord_internal@absl@@SAPEAU012@_K@Z
??$NewLeaf@$00@CordRepBtree@cord_internal@absl@@CAPEAV012@Vstring_view@2@_K@Z
??$NewLeaf@$0A@@CordRepBtree@cord_internal@absl@@CAPEAV012@Vstring_view@2@_K@Z
??$ParseFloat@$09@strings_internal@absl@@YA?AUParsedFloat@01@PEBD0W4chars_format@1@@Z
@@ -469,6 +469,8 @@
?GetCordzStatistics@CordzInfo@cord_internal@absl@@QEBA?AUCordzStatistics@23@XZ
?GetCurrentTimeNanos@absl@@YA_JXZ
?GetFlatAux@Cord@absl@@CA_NPEAUCordRep@cord_internal@2@PEAVstring_view@2@@Z
+ ?GetHashtablezMaxSamples@container_internal@absl@@YAHXZ
+ ?GetHashtablezSampleParameter@container_internal@absl@@YAHXZ
?GetId@GraphCycles@synchronization_internal@absl@@QEAA?AUGraphId@23@PEAX@Z
?GetParentMethod@CordzInfo@cord_internal@absl@@CA?AW4MethodIdentifier@CordzUpdateTracker@23@PEBV123@@Z
?GetParentStack@CordzInfo@cord_internal@absl@@QEBA?AV?$Span@QEAX@3@XZ
@@ -522,6 +524,7 @@
?IsFailedPrecondition@absl@@YA_NAEBVStatus@1@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QEBA_NPEAVstring_view@3@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QEBA_N_K0PEAVstring_view@3@@Z
+ ?IsHashtablezEnabled@container_internal@absl@@YA_NXZ
?IsInternal@absl@@YA_NAEBVStatus@1@@Z
?IsInvalidArgument@absl@@YA_NAEBVStatus@1@@Z
?IsNotFound@absl@@YA_NAEBVStatus@1@@Z
@@ -684,9 +687,13 @@
?SetCapacityForTesting@CordRepRing@cord_internal@absl@@QEAAX_K@Z
?SetCurrentThreadIdentity@base_internal@absl@@YAXPEAUThreadIdentity@12@P6AXPEAX@Z@Z
?SetExpectedChecksum@Cord@absl@@QEAAXI@Z
+ ?SetHashtablezConfigListener@container_internal@absl@@YAXP6AXXZ@Z
?SetHashtablezEnabled@container_internal@absl@@YAX_N@Z
+ ?SetHashtablezEnabledInternal@container_internal@absl@@YAX_N@Z
?SetHashtablezMaxSamples@container_internal@absl@@YAXH@Z
+ ?SetHashtablezMaxSamplesInternal@container_internal@absl@@YAXH@Z
?SetHashtablezSampleParameter@container_internal@absl@@YAXH@Z
+ ?SetHashtablezSampleParameterInternal@container_internal@absl@@YAXH@Z
?SetMutexDeadlockDetectionMode@absl@@YAXW4OnDeadlockCycle@1@@Z
?SetPayload@Status@absl@@QEAAXVstring_view@2@VCord@2@@Z
?SetStackUnwinder@absl@@YAXP6AHPEAPEAXPEAHHHPEBX1@Z@Z
diff --git a/symbols_x86_dbg.def b/symbols_x86_dbg.def
index ff6e919..8ef3437 100644
--- a/symbols_x86_dbg.def
+++ b/symbols_x86_dbg.def
@@ -397,7 +397,7 @@
??$Nanoseconds@H$0A@@absl@@YA?AVDuration@0@H@Z
??$Nanoseconds@J$0A@@absl@@YA?AVDuration@0@J@Z
??$Nanoseconds@_J$0A@@absl@@YA?AVDuration@0@_J@Z
- ??$NewImpl@$0BAAA@@CordRepFlat@cord_internal@absl@@SAPAU012@I@Z
+ ??$NewImpl@$0BAAA@$$V@CordRepFlat@cord_internal@absl@@SAPAU012@I@Z
??$NewLeaf@$00@CordRepBtree@cord_internal@absl@@CAPAV012@Vstring_view@2@I@Z
??$NewLeaf@$0A@@CordRepBtree@cord_internal@absl@@CAPAV012@Vstring_view@2@I@Z
??$Offset@$00$0A@@?$LayoutImpl@V?$tuple@IPAUCordRep@cord_internal@absl@@I@__1@std@@U?$integer_sequence@I$0A@$00$01@absl@@U45@@internal_layout@container_internal@absl@@QBEIXZ
@@ -2018,6 +2018,8 @@
?GetFirstChunk@Cord@absl@@CA?AVstring_view@2@ABV12@@Z
?GetFirstChunk@Cord@absl@@CA?AVstring_view@2@V32@@Z
?GetFlatAux@Cord@absl@@CA_NPAUCordRep@cord_internal@2@PAVstring_view@2@@Z
+ ?GetHashtablezMaxSamples@container_internal@absl@@YAHXZ
+ ?GetHashtablezSampleParameter@container_internal@absl@@YAHXZ
?GetId@GraphCycles@synchronization_internal@absl@@QAE?AUGraphId@23@PAX@Z
?GetInlinedCapacity@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QBEIXZ
?GetInlinedCapacity@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QBEIXZ
@@ -2043,6 +2045,7 @@
?GetIsAllocated@?$Storage@USubRange@absl@@$0CP@V?$allocator@USubRange@absl@@@__1@std@@@inlined_vector_internal@absl@@QBE_NXZ
?GetLeafData@CordRepRing@cord_internal@absl@@SAPBDPBUCordRep@23@@Z
?GetLock@WinHelper@Waiter@synchronization_internal@absl@@SAPAU_RTL_SRWLOCK@@PAV234@@Z
+ ?GetMaxSamples@?$SampleRecorder@UHashtablezInfo@container_internal@absl@@@profiling_internal@absl@@QBEHXZ
?GetOrCreateCurrentThreadIdentity@synchronization_internal@absl@@YAPAUThreadIdentity@base_internal@2@XZ
?GetParentMethod@CordzInfo@cord_internal@absl@@CA?AW4MethodIdentifier@CordzUpdateTracker@23@PBV123@@Z
?GetParentStack@CordzInfo@cord_internal@absl@@QBE?AV?$Span@QAX@3@XZ
@@ -2157,6 +2160,7 @@
?IsFlat@CordRep@cord_internal@absl@@QBE_NXZ
?IsFlat@CordRepBtree@cord_internal@absl@@QBE_NIIPAVstring_view@3@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QBE_NPAVstring_view@3@@Z
+ ?IsHashtablezEnabled@container_internal@absl@@YA_NXZ
?IsImmortal@RefcountAndFlags@cord_internal@absl@@QBE_NXZ
?IsInfiniteDuration@time_internal@absl@@YA_NVDuration@2@@Z
?IsInlined@Status@absl@@CA_NI@Z
@@ -2430,9 +2434,13 @@
?SetCurrentThreadIdentity@base_internal@absl@@YAXPAUThreadIdentity@12@P6AXPAX@Z@Z
?SetExpectedChecksum@Cord@absl@@QAEXI@Z
?SetFlags@FormatConversionSpecImplFriend@str_format_internal@absl@@SAXW4Flags@23@PAVFormatConversionSpecImpl@23@@Z
+ ?SetHashtablezConfigListener@container_internal@absl@@YAXP6AXXZ@Z
?SetHashtablezEnabled@container_internal@absl@@YAX_N@Z
+ ?SetHashtablezEnabledInternal@container_internal@absl@@YAX_N@Z
?SetHashtablezMaxSamples@container_internal@absl@@YAXH@Z
+ ?SetHashtablezMaxSamplesInternal@container_internal@absl@@YAXH@Z
?SetHashtablezSampleParameter@container_internal@absl@@YAXH@Z
+ ?SetHashtablezSampleParameterInternal@container_internal@absl@@YAXH@Z
?SetIsAllocated@?$Storage@H$0CP@V?$allocator@H@__1@std@@@inlined_vector_internal@absl@@QAEXXZ
?SetIsAllocated@?$Storage@PAUCordRep@cord_internal@absl@@$01V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXXZ
?SetIsAllocated@?$Storage@PAUCordRep@cord_internal@absl@@$0CP@V?$allocator@PAUCordRep@cord_internal@absl@@@__1@std@@@inlined_vector_internal@absl@@QAEXXZ
diff --git a/symbols_x86_rel.def b/symbols_x86_rel.def
index 9905cd5..b34ea9c 100644
--- a/symbols_x86_rel.def
+++ b/symbols_x86_rel.def
@@ -72,7 +72,7 @@
??$GenericCompare@_NVstring_view@absl@@@absl@@YA_NABVCord@0@ABVstring_view@0@I@Z
??$Merge@$00@CordRepBtree@cord_internal@absl@@CAPAV012@PAV012@0@Z
??$Merge@$0A@@CordRepBtree@cord_internal@absl@@CAPAV012@PAV012@0@Z
- ??$NewImpl@$0BAAA@@CordRepFlat@cord_internal@absl@@SAPAU012@I@Z
+ ??$NewImpl@$0BAAA@$$V@CordRepFlat@cord_internal@absl@@SAPAU012@I@Z
??$NewLeaf@$00@CordRepBtree@cord_internal@absl@@CAPAV012@Vstring_view@2@I@Z
??$NewLeaf@$0A@@CordRepBtree@cord_internal@absl@@CAPAV012@Vstring_view@2@I@Z
??$ParseFloat@$09@strings_internal@absl@@YA?AUParsedFloat@01@PBD0W4chars_format@1@@Z
@@ -460,6 +460,8 @@
?GetCordzStatistics@CordzInfo@cord_internal@absl@@QBE?AUCordzStatistics@23@XZ
?GetCurrentTimeNanos@absl@@YA_JXZ
?GetFlatAux@Cord@absl@@CA_NPAUCordRep@cord_internal@2@PAVstring_view@2@@Z
+ ?GetHashtablezMaxSamples@container_internal@absl@@YAHXZ
+ ?GetHashtablezSampleParameter@container_internal@absl@@YAHXZ
?GetId@GraphCycles@synchronization_internal@absl@@QAE?AUGraphId@23@PAX@Z
?GetParentMethod@CordzInfo@cord_internal@absl@@CA?AW4MethodIdentifier@CordzUpdateTracker@23@PBV123@@Z
?GetParentStack@CordzInfo@cord_internal@absl@@QBE?AV?$Span@QAX@3@XZ
@@ -512,6 +514,7 @@
?IsFailedPrecondition@absl@@YA_NABVStatus@1@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QBE_NIIPAVstring_view@3@@Z
?IsFlat@CordRepBtree@cord_internal@absl@@QBE_NPAVstring_view@3@@Z
+ ?IsHashtablezEnabled@container_internal@absl@@YA_NXZ
?IsInternal@absl@@YA_NABVStatus@1@@Z
?IsInvalidArgument@absl@@YA_NABVStatus@1@@Z
?IsNotFound@absl@@YA_NABVStatus@1@@Z
@@ -673,9 +676,13 @@
?SetCapacityForTesting@CordRepRing@cord_internal@absl@@QAEXI@Z
?SetCurrentThreadIdentity@base_internal@absl@@YAXPAUThreadIdentity@12@P6AXPAX@Z@Z
?SetExpectedChecksum@Cord@absl@@QAEXI@Z
+ ?SetHashtablezConfigListener@container_internal@absl@@YAXP6AXXZ@Z
?SetHashtablezEnabled@container_internal@absl@@YAX_N@Z
+ ?SetHashtablezEnabledInternal@container_internal@absl@@YAX_N@Z
?SetHashtablezMaxSamples@container_internal@absl@@YAXH@Z
+ ?SetHashtablezMaxSamplesInternal@container_internal@absl@@YAXH@Z
?SetHashtablezSampleParameter@container_internal@absl@@YAXH@Z
+ ?SetHashtablezSampleParameterInternal@container_internal@absl@@YAXH@Z
?SetMutexDeadlockDetectionMode@absl@@YAXW4OnDeadlockCycle@1@@Z
?SetPayload@Status@absl@@QAEXVstring_view@2@VCord@2@@Z
?SetStackUnwinder@absl@@YAXP6AHPAPAXPAHHHPBX1@Z@Z