31#ifndef detail_ut_allocator_traits_h
32#define detail_ut_allocator_traits_h
34#if defined(_WIN32) && defined(MYSQL_SERVER)
42#if defined(_WIN32) && defined(MYSQL_SERVER)
50inline void *
malloc(
size_t nbytes) {
51 std::call_once(mysys::detail::init_malloc_pointers_flag,
52 mysys::detail::init_malloc_pointers);
53 return mysys::detail::pfn_malloc(nbytes);
55inline void *
calloc(
size_t nbytes) {
56 std::call_once(mysys::detail::init_malloc_pointers_flag,
57 mysys::detail::init_malloc_pointers);
58 return mysys::detail::pfn_calloc(1, nbytes);
60inline void *
realloc(
void *ptr,
size_t nbytes) {
61 std::call_once(mysys::detail::init_malloc_pointers_flag,
62 mysys::detail::init_malloc_pointers);
63 return mysys::detail::pfn_realloc(ptr, nbytes);
65inline void free(
void *ptr) {
66 std::call_once(mysys::detail::init_malloc_pointers_flag,
67 mysys::detail::init_malloc_pointers);
68 mysys::detail::pfn_free(ptr);
73inline void *
realloc(
void *ptr,
size_t nbytes) {
80template <
bool Pfs_instrumented>
92 template <
bool Zero_initialized>
93 static void *
alloc(
size_t size) {
94 if constexpr (Zero_initialized)
100 static void *
realloc(
void *ptr,
size_t nbytes) {
Details for dynamically loading and using jemalloc.dll on Windows.
#define malloc(A)
Definition: lexyy.cc:914
#define realloc(P, A)
Definition: lexyy.cc:916
#define free(A)
Definition: lexyy.cc:915
Definition: ut0tuple.h:56
void * realloc(void *ptr, size_t nbytes)
Definition: allocator_traits.h:73
void * malloc(size_t nbytes)
Definition: allocator_traits.h:71
void free(void *ptr)
Definition: allocator_traits.h:76
void * calloc(size_t nbytes)
Definition: allocator_traits.h:72
This file contains a set of libraries providing overloads for regular dynamic allocation routines whi...
Definition: aligned_alloc.h:47
Simple wrapping type around malloc, calloc and friends.
Definition: allocator_traits.h:87
static void * malloc(size_t nbytes)
Definition: allocator_traits.h:88
static void * alloc(size_t size)
Definition: allocator_traits.h:93
static void * calloc(size_t nbytes)
Definition: allocator_traits.h:90
static void free(void *ptr)
Definition: allocator_traits.h:104
static void * realloc(void *ptr, size_t nbytes)
Definition: allocator_traits.h:100
Simple allocator traits.
Definition: allocator_traits.h:81
static constexpr auto is_pfs_instrumented_v
Definition: allocator_traits.h:83