Cyclone Scheme
0.4
|
Major GC is responsible for removing unused objects from the heap. More...
Data Structures | |
struct | gc_free_list_t |
struct | gc_header_type_t |
struct | gc_heap_root_t |
struct | gc_heap_t |
struct | gc_thread_data_t |
Macros | |
#define | DEBUG_SHOW_DIAG 0 |
#define | GC_COLLECTION_THRESHOLD 0.05 |
#define | gc_color_blue 2 |
#define | gc_color_red 0 |
#define | GC_DEBUG_SHOW_SWEEP_DIAG 0 |
#define | GC_DEBUG_TRACE 0 |
#define | GC_DEBUG_VERBOSE 0 |
#define | GC_FREE_THRESHOLD 0.40 |
#define | GC_SAFETY_CHECKS 0 |
#define | grayed(x) (((list) x)->hdr.grayed) |
#define | GROW_HEAP_BY_SIZE (2 * 1024 * 1024) |
#define | HEAP_SIZE (32 * 1024 * 1024) |
#define | INITIAL_HEAP_SIZE (3 * 1024 * 1024) |
#define | mark(x) (((list) x)->hdr.mark) |
#define | MAX_STACK_TRACES 10 |
#define | NANOSECONDS_PER_MILLISECOND 1000000 |
#define | NUM_HEAP_TYPES (HEAP_HUGE + 1) |
#define | return_thread_runnable(d, r) gc_mutator_thread_runnable(((gc_thread_data *)d), (r)) |
#define | set_thread_blocked(d, c) gc_mutator_thread_blocked(((gc_thread_data *)d), (c)) |
Typedefs | |
typedef struct gc_free_list_t | gc_free_list |
typedef struct gc_header_type_t | gc_header_type |
typedef struct gc_heap_t | gc_heap |
typedef struct gc_heap_root_t | gc_heap_root |
typedef struct gc_thread_data_t | gc_thread_data |
Each thread is given an instance of this struct to maintain its state. More... | |
Enumerations | |
enum | cyc_thread_state_type { CYC_THREAD_STATE_NEW, CYC_THREAD_STATE_RUNNABLE, CYC_THREAD_STATE_BLOCKED, CYC_THREAD_STATE_BLOCKED_COOPERATING, CYC_THREAD_STATE_TERMINATED } |
enum | gc_heap_type { HEAP_SM = 0, HEAP_64, HEAP_96, HEAP_REST, HEAP_HUGE } |
enum | gc_stage_type { STAGE_CLEAR_OR_MARKING, STAGE_TRACING, STAGE_SWEEPING, STAGE_RESTING } |
enum | gc_status_type { STATUS_ASYNC, STATUS_SYNC1, STATUS_SYNC2 } |
Major GC is responsible for removing unused objects from the heap.