#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 |
1.7.1