TM API. More...
#include <stddef.h>
#include <stdio.h>
Go to the source code of this file.
Data Structures | |
struct | tm_adesc |
Allocation descriptor. More... | |
Defines | |
#define | tm_ptr_TO_END_IS_VALID 0 |
If true, a pointer immediately after the end of a node is considered to be "in" the node. | |
Functions | |
tm_adesc * | tm_adesc_for_size (tm_adesc *desc, int force_new) |
???? | |
void | tm_init (int *argcp, char ***argvp, char ***envpp) |
API: Initialize the tm allocator. | |
int | tm_root_add (const char *name, const void *begin, const void *end) |
API: Add a root set. | |
void | tm_root_remove (const char *name, const void *begin, const void *end) |
void * | tm_alloc (size_t size) |
API: Allocate a node. | |
void * | tm_alloc_desc (tm_adesc *desc) |
API: Allocate a node based on a allocation descriptor. | |
void * | tm_realloc (void *ptr, size_t size) |
API: Reallocate a node of a givin size. | |
void | tm_free (void *ptr) |
API: Explicitly free a node. | |
void | tm_gc_full () |
Force a full GC. | |
void | tm_msg_enable (const char *codes, int enable) |
Enable or disable messages. | |
void | tm_msg (const char *format,...) |
Prints messages to tm_msg_file. | |
void | tm_msg1 (const char *format,...) |
Format additional message data. | |
void | tm_print_stats () |
API: Print statistics. | |
void | tm_print_block_stats () |
API: Print block statistics. | |
void | tm_print_time_stats () |
API: Print timing stats. | |
Variables | |
int | tm_sweep_is_error |
FILE * | tm_msg_file |
Debug message file handle. | |
const char * | tm_msg_prefix |
long | tm_node_parcel_some_size |
Nodes to parcel from a tm_block per tm_alloc(). | |
long | tm_root_scan_some_size |
Amount of roots words to scan per tm_malloc(). | |
long | tm_node_scan_some_size |
Words to scan per tm_alloc(). | |
long | tm_node_sweep_some_size |
Nodes to sweep per tm_alloc(). | |
long | tm_node_unmark_some_size |
Nodes to unmark per tm_alloc(). | |
long | tm_block_sweep_some_size |
Number of blocks per tm_alloc() to sweep after sweep phase. | |
int | tm_block_min_free |
Minimum number of tm_blocks to retain on block free list. | |
size_t | tm_os_alloc_max |
int | tm_root_scan_full |
If true, all roots are scanned atomically before moving to the SCAN phase. |
TM API.
Definition in file tm.h.