#include "dsodefs.h"
#include <sys/types.h>
#include <errno.h>
#include <limits.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/cdefs.h>
#include <sys/mman.h>
#include <sys/param.h>
#include <sys/time.h>
#include <sys/sysctl.h>
#include "jemtree.h"
#include <sys/uio.h>
#include <sched.h>
#include <stdbool.h>
#include <stdint.h>
#include <strings.h>
#include <unistd.h>
#include <assert.h>
Defines | |
#define | MALLOC_PRODUCTION 1 |
#define | MALLOC_DSS |
#define | __DECONST(type, var) ((type)(uintptr_t)(const void *)(var)) |
#define | MADV_FREE MADV_DONTNEED |
#define | SIZE_T_MAX SIZE_MAX |
#define | __DECONST(type, var) ((type)(uintptr_t)(const void *)(var)) |
#define | NDEBUG |
#define | STRERROR_BUF 64 |
#define | QUANTUM_2POW_MIN 4 |
#define | SIZEOF_PTR_2POW 2 |
#define | SIZEOF_PTR (1U << SIZEOF_PTR_2POW) |
#define | SIZEOF_INT_2POW 2 |
#define | NO_TLS |
#define | CHUNK_2POW_DEFAULT 20 |
#define | DIRTY_MAX_DEFAULT (1U << 9) |
#define | CACHELINE_2POW 6 |
#define | CACHELINE ((size_t)(1U << CACHELINE_2POW)) |
#define | TINY_MIN_2POW 1 |
#define | SMALL_MAX_2POW_DEFAULT 9 |
#define | SMALL_MAX_DEFAULT (1U << SMALL_MAX_2POW_DEFAULT) |
#define | RUN_BFP 12 |
#define | RUN_MAX_OVRHD 0x0000003dU |
#define | RUN_MAX_OVRHD_RELAX 0x00001800U |
#define | RUN_MAX_SMALL_2POW 15 |
#define | RUN_MAX_SMALL (1U << RUN_MAX_SMALL_2POW) |
#define | CPU_SPINWAIT |
#define | SPIN_LIMIT_2POW 11 |
#define | BLOCK_COST_2POW 4 |
#define | CHUNK_MAP_UNTOUCHED 0x80U |
#define | CHUNK_MAP_DIRTY 0x40U |
#define | CHUNK_MAP_LARGE 0x20U |
#define | CHUNK_MAP_POS_MASK 0x1fU |
#define | UTRACE(a, b, c) |
#define | malloc_spin_init malloc_mutex_init |
#define | malloc_spin_lock malloc_mutex_lock |
#define | malloc_spin_unlock malloc_mutex_unlock |
#define | CHUNK_ADDR2BASE(a) ((void *)((uintptr_t)(a) & ~chunksize_mask)) |
#define | CHUNK_ADDR2OFFSET(a) ((size_t)((uintptr_t)(a) & chunksize_mask)) |
#define | CHUNK_CEILING(s) (((s) + chunksize_mask) & ~chunksize_mask) |
#define | CACHELINE_CEILING(s) (((s) + (CACHELINE - 1)) & ~(CACHELINE - 1)) |
#define | QUANTUM_CEILING(a) (((a) + quantum_mask) & ~quantum_mask) |
#define | PAGE_CEILING(s) (((s) + pagesize_mask) & ~pagesize_mask) |
#define | _write write |
#define | _malloc_message malloc_message |
#define | UMAX2S_BUFSIZE 21 |
#define | SIZE_INV_SHIFT 21 |
#define | SIZE_INV(s) (((1U << SIZE_INV_SHIFT) / (s << QUANTUM_2POW_MIN)) + 1) |
Typedefs | |
typedef malloc_spinlock_t | malloc_mutex_t |
typedef struct extent_node_s | extent_node_t |
typedef struct extent_tree_szad_s | extent_tree_szad_t |
typedef struct extent_tree_ad_s | extent_tree_ad_t |
typedef struct arena_s | arena_t |
typedef struct arena_bin_s | arena_bin_t |
typedef uint8_t | arena_chunk_map_t |
typedef struct arena_chunk_s | arena_chunk_t |
typedef struct arena_chunk_tree_s | arena_chunk_tree_t |
typedef struct arena_run_s | arena_run_t |
typedef struct arena_run_tree_s | arena_run_tree_t |
Functions | |
DSOEXPORT void * | memalign (size_t alignment, size_t size) |
DSOEXPORT size_t | malloc_usable_size (const void *ptr) |
DSOEXPORT void * | calloc (size_t num, size_t size) |
DSOEXPORT void * | realloc (void *ptr, size_t size) |
DSOEXPORT void * | valloc (size_t size) |
void | _malloc_postfork (void) |
void | _malloc_prefork (void) |
RB_HEAD (extent_tree_szad_s, extent_node_s) | |
RB_HEAD (extent_tree_ad_s, extent_node_s) | |
RB_HEAD (arena_chunk_tree_s, arena_chunk_s) | |
RB_HEAD (arena_run_tree_s, arena_run_s) | |
RB_GENERATE_STATIC (extent_tree_szad_s, extent_node_s, link_szad, extent_szad_comp) | |
DSOEXPORT void * | malloc (size_t size) |
DSOEXPORT int | posix_memalign (void **memptr, size_t alignment, size_t size) |
DSOEXPORT void | free (void *ptr) |
Variables | |
const char * | _malloc_options |
void(* | _malloc_message )(const char *p1, const char *p2, const char *p3, const char *p4) = wrtmessage |
#define __DECONST | ( | type, | ||
var | ||||
) | ((type)(uintptr_t)(const void *)(var)) |
#define __DECONST | ( | type, | ||
var | ||||
) | ((type)(uintptr_t)(const void *)(var)) |
#define _malloc_message malloc_message |
Referenced by calloc(), malloc(), posix_memalign(), and realloc().
#define _write write |
#define BLOCK_COST_2POW 4 |
#define CACHELINE ((size_t)(1U << CACHELINE_2POW)) |
#define CACHELINE_2POW 6 |
#define CHUNK_2POW_DEFAULT 20 |
#define CHUNK_ADDR2BASE | ( | a | ) | ((void *)((uintptr_t)(a) & ~chunksize_mask)) |
#define CHUNK_ADDR2OFFSET | ( | a | ) | ((size_t)((uintptr_t)(a) & chunksize_mask)) |
#define CHUNK_MAP_DIRTY 0x40U |
#define CHUNK_MAP_LARGE 0x20U |
#define CHUNK_MAP_POS_MASK 0x1fU |
#define CHUNK_MAP_UNTOUCHED 0x80U |
#define CPU_SPINWAIT |
#define DIRTY_MAX_DEFAULT (1U << 9) |
#define MADV_FREE MADV_DONTNEED |
#define MALLOC_DSS |
#define MALLOC_PRODUCTION 1 |
#define malloc_spin_init malloc_mutex_init |
#define malloc_spin_lock malloc_mutex_lock |
Referenced by _malloc_postfork(), and _malloc_prefork().
#define malloc_spin_unlock malloc_mutex_unlock |
Referenced by _malloc_postfork(), and _malloc_prefork().
#define NDEBUG |
#define NO_TLS |
#define QUANTUM_2POW_MIN 4 |
#define QUANTUM_CEILING | ( | a | ) | (((a) + quantum_mask) & ~quantum_mask) |
#define RUN_BFP 12 |
#define RUN_MAX_OVRHD 0x0000003dU |
#define RUN_MAX_OVRHD_RELAX 0x00001800U |
#define RUN_MAX_SMALL (1U << RUN_MAX_SMALL_2POW) |
#define RUN_MAX_SMALL_2POW 15 |
#define SIZE_INV | ( | s | ) | (((1U << SIZE_INV_SHIFT) / (s << QUANTUM_2POW_MIN)) + 1) |
#define SIZE_INV_SHIFT 21 |
#define SIZE_T_MAX SIZE_MAX |
Referenced by calloc().
#define SIZEOF_INT_2POW 2 |
#define SIZEOF_PTR (1U << SIZEOF_PTR_2POW) |
#define SIZEOF_PTR_2POW 2 |
#define SMALL_MAX_2POW_DEFAULT 9 |
#define SMALL_MAX_DEFAULT (1U << SMALL_MAX_2POW_DEFAULT) |
#define SPIN_LIMIT_2POW 11 |
#define STRERROR_BUF 64 |
#define TINY_MIN_2POW 1 |
#define UMAX2S_BUFSIZE 21 |
#define UTRACE | ( | a, | ||
b, | ||||
c | ||||
) |
Referenced by calloc(), free(), malloc(), posix_memalign(), and realloc().
typedef struct arena_bin_s arena_bin_t |
typedef uint8_t arena_chunk_map_t |
typedef struct arena_chunk_s arena_chunk_t |
typedef struct arena_chunk_tree_s arena_chunk_tree_t |
typedef struct arena_run_s arena_run_t |
typedef struct arena_run_tree_s arena_run_tree_t |
typedef struct arena_s arena_t |
typedef struct extent_node_s extent_node_t |
typedef struct extent_tree_ad_s extent_tree_ad_t |
typedef struct extent_tree_szad_s extent_tree_szad_t |
typedef malloc_spinlock_t malloc_mutex_t |
void _malloc_postfork | ( | void | ) |
References malloc_spin_lock, and malloc_spin_unlock.
void _malloc_prefork | ( | void | ) |
References malloc_spin_lock, and malloc_spin_unlock.
DSOEXPORT void * calloc | ( | size_t | num, | |
size_t | size | |||
) |
References _malloc_message, errno, SIZE_T_MAX, and UTRACE.
DSOEXPORT void free | ( | void * | ptr | ) |
References UTRACE.
Referenced by argz_create_sep(), gnash::DiskStream::close(), gnash::fileio_scandir(), gnash::SSLServer::loadDhParams(), gnash::DiskStream::loadToMem(), NPN_MemFree(), slist_unbox(), gnash::SSHClient::sshConnect(), gnash::SSHClient::sshShutdown(), gnash::typeName(), and gnash::FBGui::~FBGui().
DSOEXPORT void* malloc | ( | size_t | size | ) |
References _malloc_message, errno, and UTRACE.
Referenced by argz_create_sep(), gnash::AOS4Gui::createWindow(), gnash::FBGui::init(), gnash::DiskStream::loadToMem(), lt__malloc(), NPN_MemAlloc(), gnash::AOS4Gui::ReadPrefs(), and slist_box().
DSOEXPORT size_t malloc_usable_size | ( | const void * | ptr | ) |
DSOEXPORT void * memalign | ( | size_t | alignment, | |
size_t | size | |||
) |
References posix_memalign().
Referenced by valloc().
DSOEXPORT int posix_memalign | ( | void ** | memptr, | |
size_t | alignment, | |||
size_t | size | |||
) |
References _malloc_message, and UTRACE.
Referenced by memalign().
RB_GENERATE_STATIC | ( | extent_tree_szad_s | , | |
extent_node_s | , | |||
link_szad | , | |||
extent_szad_comp | ||||
) |
RB_HEAD | ( | extent_tree_szad_s | , | |
extent_node_s | ||||
) |
RB_HEAD | ( | extent_tree_ad_s | , | |
extent_node_s | ||||
) |
RB_HEAD | ( | arena_chunk_tree_s | , | |
arena_chunk_s | ||||
) |
RB_HEAD | ( | arena_run_tree_s | , | |
arena_run_s | ||||
) |
DSOEXPORT void * realloc | ( | void * | ptr, | |
size_t | size | |||
) |
References _malloc_message, errno, and UTRACE.
Referenced by argz_append(), argz_insert(), gnash::Renderer_agg_base::initTestBuffer(), lt__realloc(), and gnash::RiscosAggGlue::setRenderHandlerSize().
DSOEXPORT void * valloc | ( | size_t | size | ) |
References memalign().
void(* _malloc_message)(const char *p1, const char *p2, const char *p3, const char *p4) = wrtmessage |
const char* _malloc_options |