Changes imported from Abseil "staging" branch:
- 5923451fb3b082e8bedb800cb676378b0f52d651 Remove internal-only deprecated APIs. by Daniel Katz <katzdm@google.com> - c715bf6e5533a9a5d827e806ccd6e8ee68ad2a53 Small fix for comment in span.h by Abseil Team <absl-team@google.com> - ef89cc8dac0631b4ad3499d1f0883670b43567df Rename an internal detail to de-conflict with a badly-nam... by Abseil Team <absl-team@google.com> - b53761a945ffdab39d5340904ca822571672f11a Remove base/internal/log_severity.cc, which is omitted fr... by Abseil Team <absl-team@google.com> - 56685b1852840d3838e24d83849d56644949e9b7 Reimplementing MallocHook such that the C API wraps the C... by Abseil Team <absl-team@google.com> GitOrigin-RevId: 5923451fb3b082e8bedb800cb676378b0f52d651 Change-Id: I9b854d46b57990c9a10971391d762b280488bcee
This commit is contained in:
parent
17cde19a0f
commit
eb5bbdda6c
11 changed files with 106 additions and 360 deletions
|
|
@ -20,7 +20,6 @@
|
|||
#include <string>
|
||||
|
||||
#include "absl/base/dynamic_annotations.h"
|
||||
#include "absl/base/internal/malloc_extension_c.h"
|
||||
|
||||
namespace absl {
|
||||
namespace base_internal {
|
||||
|
|
@ -155,44 +154,6 @@ void MallocExtension::GetFragmentationProfile(MallocExtensionWriter*) {}
|
|||
} // namespace base_internal
|
||||
} // namespace absl
|
||||
|
||||
// These are C shims that work on the current instance.
|
||||
|
||||
#define C_SHIM(fn, retval, paramlist, arglist) \
|
||||
extern "C" retval MallocExtension_##fn paramlist { \
|
||||
return absl::base_internal::MallocExtension::instance()->fn arglist; \
|
||||
}
|
||||
|
||||
C_SHIM(VerifyAllMemory, int, (void), ());
|
||||
C_SHIM(VerifyNewMemory, int, (const void* p), (p));
|
||||
C_SHIM(VerifyArrayNewMemory, int, (const void* p), (p));
|
||||
C_SHIM(VerifyMallocMemory, int, (const void* p), (p));
|
||||
C_SHIM(
|
||||
MallocMemoryStats, int,
|
||||
(int* blocks, size_t* total,
|
||||
int histogram[absl::base_internal::MallocExtension::kMallocHistogramSize]),
|
||||
(blocks, total, histogram));
|
||||
|
||||
C_SHIM(GetStats, void,
|
||||
(char* buffer, int buffer_length), (buffer, buffer_length));
|
||||
C_SHIM(GetNumericProperty, int,
|
||||
(const char* property, size_t* value), (property, value));
|
||||
C_SHIM(SetNumericProperty, int,
|
||||
(const char* property, size_t value), (property, value));
|
||||
|
||||
C_SHIM(MarkThreadIdle, void, (void), ());
|
||||
C_SHIM(MarkThreadBusy, void, (void), ());
|
||||
C_SHIM(ReleaseFreeMemory, void, (void), ());
|
||||
C_SHIM(ReleaseToSystem, void, (size_t num_bytes), (num_bytes));
|
||||
C_SHIM(GetEstimatedAllocatedSize, size_t, (size_t size), (size));
|
||||
C_SHIM(GetAllocatedSize, size_t, (const void* p), (p));
|
||||
|
||||
// Can't use the shim here because of the need to translate the enums.
|
||||
extern "C"
|
||||
MallocExtension_Ownership MallocExtension_GetOwnership(const void* p) {
|
||||
return static_cast<MallocExtension_Ownership>(
|
||||
absl::base_internal::MallocExtension::instance()->GetOwnership(p));
|
||||
}
|
||||
|
||||
// Default implementation just returns size. The expectation is that
|
||||
// the linked-in malloc implementation might provide an override of
|
||||
// this weak function with a better implementation.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue