|
Packit |
345191 |
#ifndef JEMALLOC_INTERNAL_PROF_TYPES_H
|
|
Packit |
345191 |
#define JEMALLOC_INTERNAL_PROF_TYPES_H
|
|
Packit |
345191 |
|
|
Packit |
345191 |
typedef struct prof_bt_s prof_bt_t;
|
|
Packit |
345191 |
typedef struct prof_accum_s prof_accum_t;
|
|
Packit |
345191 |
typedef struct prof_cnt_s prof_cnt_t;
|
|
Packit |
345191 |
typedef struct prof_tctx_s prof_tctx_t;
|
|
Packit |
345191 |
typedef struct prof_gctx_s prof_gctx_t;
|
|
Packit |
345191 |
typedef struct prof_tdata_s prof_tdata_t;
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/* Option defaults. */
|
|
Packit |
345191 |
#ifdef JEMALLOC_PROF
|
|
Packit |
345191 |
# define PROF_PREFIX_DEFAULT "jeprof"
|
|
Packit |
345191 |
#else
|
|
Packit |
345191 |
# define PROF_PREFIX_DEFAULT ""
|
|
Packit |
345191 |
#endif
|
|
Packit |
345191 |
#define LG_PROF_SAMPLE_DEFAULT 19
|
|
Packit |
345191 |
#define LG_PROF_INTERVAL_DEFAULT -1
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/*
|
|
Packit |
345191 |
* Hard limit on stack backtrace depth. The version of prof_backtrace() that
|
|
Packit |
345191 |
* is based on __builtin_return_address() necessarily has a hard-coded number
|
|
Packit |
345191 |
* of backtrace frame handlers, and should be kept in sync with this setting.
|
|
Packit |
345191 |
*/
|
|
Packit |
345191 |
#define PROF_BT_MAX 128
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/* Initial hash table size. */
|
|
Packit |
345191 |
#define PROF_CKH_MINITEMS 64
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/* Size of memory buffer to use when writing dump files. */
|
|
Packit |
345191 |
#define PROF_DUMP_BUFSIZE 65536
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/* Size of stack-allocated buffer used by prof_printf(). */
|
|
Packit |
345191 |
#define PROF_PRINTF_BUFSIZE 128
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/*
|
|
Packit |
345191 |
* Number of mutexes shared among all gctx's. No space is allocated for these
|
|
Packit |
345191 |
* unless profiling is enabled, so it's okay to over-provision.
|
|
Packit |
345191 |
*/
|
|
Packit |
345191 |
#define PROF_NCTX_LOCKS 1024
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/*
|
|
Packit |
345191 |
* Number of mutexes shared among all tdata's. No space is allocated for these
|
|
Packit |
345191 |
* unless profiling is enabled, so it's okay to over-provision.
|
|
Packit |
345191 |
*/
|
|
Packit |
345191 |
#define PROF_NTDATA_LOCKS 256
|
|
Packit |
345191 |
|
|
Packit |
345191 |
/*
|
|
Packit |
345191 |
* prof_tdata pointers close to NULL are used to encode state information that
|
|
Packit |
345191 |
* is used for cleaning up during thread shutdown.
|
|
Packit |
345191 |
*/
|
|
Packit |
345191 |
#define PROF_TDATA_STATE_REINCARNATED ((prof_tdata_t *)(uintptr_t)1)
|
|
Packit |
345191 |
#define PROF_TDATA_STATE_PURGATORY ((prof_tdata_t *)(uintptr_t)2)
|
|
Packit |
345191 |
#define PROF_TDATA_STATE_MAX PROF_TDATA_STATE_PURGATORY
|
|
Packit |
345191 |
|
|
Packit |
345191 |
#endif /* JEMALLOC_INTERNAL_PROF_TYPES_H */
|