parrotcode: Header management functions | |
Contents | C |
src/headers.c - Header management functions
Handles getting of various headers, and pool creation.
static void *get_free_buffer
Buffer
from pool
and returns it.
Memory is cleared.Small_Object_Pool *new_pmc_pool
Small_Object_Pool *new_bufferlike_pool
make_bufferlike_pool()
.Small_Object_Pool *new_buffer_pool
Small_Object_Pool *new_string_pool
STRINGS
and returns it.Small_Object_Pool *make_bufferlike_pool
Small_Object_Pool *get_bufferlike_pool
PMC *new_pmc_header
static PMC_EXT *new_pmc_ext
PMC_EXT
and returns it.void add_pmc_ext
PMC_EXT
to pmc
.void add_pmc_sync
pmc
.STRING *new_string_header
STRING
header.Buffer *new_buffer_header
Buffer
.void *new_bufferlike_header
size_t get_max_buffer_address
size_t get_min_buffer_address
size_t get_max_pmc_address
size_t get_min_pmc_address
int is_buffer_ptr
ptr
is actually a Buffer
.int is_pmc_ptr
ptr
is actually a PMC.void Parrot_initialize_header_pools
int Parrot_forall_header_pools
POOL_PMC
POOL_BUFFER
POOL_CONST
POOL_ALL
Interp*, Small_Object_Pool *, int flag, void *arg)
If the function returns a non-zero value iteration will stop.static void free_pool
static int sweep_cb_buf
static int sweep_cb_pmc
void Parrot_destroy_header_pools
static void fix_pmc_syncs
void Parrot_merge_header_pools
source_interp
into those of dest_interp
. (Used to deal with shared objects left after interpreter destruction.)void Parrot_initialize_header_pool_names
include/parrot/headers.h.
Initial version by Mike Lambert on 2002.05.27.
|