admin
2022-11-05 3680049029e6a193eae069596be04ce0fb2b1303
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "jemalloc/internal/malloc_io.h"
#include "jemalloc/internal/util.h"
 
/*
 * Define a custom assert() in order to reduce the chances of deadlock during
 * assertion failure.
 */
#ifndef assert
#define assert(e) do {                            \
    if (unlikely(config_debug && !(e))) {                \
        malloc_printf(                        \
            "<jemalloc>: %s:%d: Failed assertion: \"%s\"\n",    \
            __FILE__, __LINE__, #e);                \
        abort();                        \
    }                                \
} while (0)
#endif
 
#ifndef not_reached
#define not_reached() do {                        \
    if (config_debug) {                        \
        malloc_printf(                        \
            "<jemalloc>: %s:%d: Unreachable code reached\n",    \
            __FILE__, __LINE__);                \
        abort();                        \
    }                                \
    unreachable();                            \
} while (0)
#endif
 
#ifndef not_implemented
#define not_implemented() do {                        \
    if (config_debug) {                        \
        malloc_printf("<jemalloc>: %s:%d: Not implemented\n",    \
            __FILE__, __LINE__);                \
        abort();                        \
    }                                \
} while (0)
#endif
 
#ifndef assert_not_implemented
#define assert_not_implemented(e) do {                    \
    if (unlikely(config_debug && !(e))) {                \
        not_implemented();                    \
    }                                \
} while (0)
#endif
 
/* Use to assert a particular configuration, e.g., cassert(config_debug). */
#ifndef cassert
#define cassert(c) do {                            \
    if (unlikely(!(c))) {                        \
        not_reached();                        \
    }                                \
} while (0)
#endif