48#if defined(__cplusplus)
52 extern void trap(
void);
62#if defined(__cplusplus)
66#define TRAPCHK(p) trapchk(p)
67#define TRAPCHK_SIZE(n) trapchk_size(n)
71#define TRAPCHK(p) (void)p
72#define TRAPCHK_SIZE(n)
83#include <valgrind/memcheck.h>
88#if defined(__cplusplus)
93extern char *
getmem(
size_t);
119 void M2_debug_free(
void *);
120 void* M2_debug_malloc(
size_t size);
121 void* M2_debug_malloc_atomic(
size_t size);
122 void* M2_debug_malloc_atomic_uncollectable(
size_t size);
123 void* M2_debug_realloc(
void *,
size_t size);
124 void* M2_debug_malloc_uncollectable(
size_t size);
125 void *M2_debug_to_outer(
void *
p);
126 void *M2_debug_to_inner(
void *f);
129#define sizeofarray(s,len) (sizeof(*(s)) + (len)*sizeof((s)->array[0]))
130#define sizeofarraytype(S,len) sizeofarray((S)0,len)
131#define sizeofstruct(s) sizeof(*(s))
132#define sizeofstructtype(S) sizeofstruct((S)0)
134#if defined(__cplusplus)
135#define getmemarraytype(S,len) reinterpret_cast<S>(getmem(sizeofarraytype(S,len)))
136#define getmemstructtype(S) reinterpret_cast<S>(getmem(sizeofstructtype(S)))
137#define getmematomicarraytype(S,len) reinterpret_cast<S>(getmem_atomic(sizeofarraytype(S,len)))
138#define getmematomicstructtype(S) reinterpret_cast<S>(getmem_atomic(sizeofstructtype(S)))
139#define getmemvectortype(S,len) reinterpret_cast<S*>(getmem(sizeof(S)*len))
140#define getmematomicvectortype(S,len) reinterpret_cast<S*>(getmem_atomic(sizeof(S)*(len)))
142#define getmemarraytype(S,len) (S)(getmem(sizeofarraytype(S,len)))
143#define getmemstructtype(S) (S)(getmem(sizeofstructtype(S)))
144#define getmematomicarraytype(S,len) (S)(getmem_atomic(sizeofarraytype(S,len)))
145#define getmematomicstructtype(S) (S)(getmem_atomic(sizeofstructtype(S)))
146#define getmemvectortype(S,len) (S*)(getmem(sizeof(S)*len))
147#define getmematomicvectortype(S,len) (S*)(getmem_atomic(sizeof(S)*(len)))
151#if defined(__cplusplus)
void trapchk_size(size_t)
void freememlen(void *, size_t)
char * getmem_atomic(size_t)
char * getmem_clear(size_t)
char * getmem_atomic_clear(size_t)
void * I_WRAP_SONAME_FNNAME_ZU(libgcZdsoZd1, GC_malloc)(size_t)
static __attribute__((unused)) void debug_version()