Go to the source code of this file.
Definition at line 231 of file collector.h.
Definition at line 47 of file collector.h.
Definition at line 48 of file collector.h.
#define blacked_hd | ( | p | ) | (p->h.bix & BLACKTAG) |
Definition at line 182 of file collector.h.
#define blacked_map | ( | p | ) | blacked_hd(p) |
Definition at line 176 of file collector.h.
#define BLACKTAG 0x40 |
Definition at line 171 of file collector.h.
#define busy_sema_post | ( | k | ) |
{ \ int i; \ finish_access_before_read(); \ do { \ i = read_volatile_int(k); \ } while (cas_int(k, i, i + 1)); \ }
Definition at line 303 of file collector.h.
#define busy_sema_wait | ( | k | ) |
{ \ int i; \ do { \ while ((i = read_volatile_int(k)) <= 0); \ } while (cas_int(k, i, i - 1)); \ start_access_after_write(); \ }
Definition at line 296 of file collector.h.
#define collector_lock gc_data.collector_lock |
Definition at line 244 of file collector.h.
#define collector_sp gc_data.collector_sp |
Definition at line 228 of file collector.h.
Definition at line 227 of file collector.h.
Definition at line 229 of file collector.h.
#define colored_hd | ( | p | ) | (p->h.bix & COLORTAG) |
Definition at line 181 of file collector.h.
#define colored_map | ( | p | ) | colored_hd(p) |
Definition at line 175 of file collector.h.
#define COLORTAG 0x60 |
Definition at line 172 of file collector.h.
#define DEFAULT_EXPAND_SIZE_IDX 24 /* about ??? KB */ |
Definition at line 36 of file collector.h.
#define DEFAULT_GC_THRESHOLD 0.25 |
Definition at line 38 of file collector.h.
#define DEFAULT_MAX_RGCSTACK 32768 /* 16384 */ |
Definition at line 34 of file collector.h.
#define FREETAG 0x20 |
Definition at line 169 of file collector.h.
#define GC_ACTIVATE_CUSHION 15 /* 10...20 */ |
Definition at line 43 of file collector.h.
#define gc_cmp_cnt gc_data.gc_cmp_cnt |
Definition at line 248 of file collector.h.
#define gc_counter gc_data.gc_counter |
Definition at line 232 of file collector.h.
#define GC_GRANULARITY 2 /* 2, 4 */ |
Definition at line 50 of file collector.h.
#define gc_net_free gc_data.gc_net_free |
Definition at line 249 of file collector.h.
#define gc_phase gc_data.gc_phase |
Definition at line 230 of file collector.h.
#define gc_point_sync gc_data.gc_point_sync |
Definition at line 233 of file collector.h.
#define gc_region_sync gc_data.gc_region_sync |
Definition at line 234 of file collector.h.
#define gc_state_lock gc_data.gc_state_lock |
Definition at line 243 of file collector.h.
#define gc_wakeup_cnt gc_data.gc_wakeup_cnt |
Definition at line 247 of file collector.h.
#define gc_wakeup_cv gc_data.gc_wakeup_cv |
Definition at line 246 of file collector.h.
#define GRAYTAG 0x20 |
Definition at line 170 of file collector.h.
#define INITIAL_HEAP_SIZE 2500 |
Configuration parameters for RGC INITIAL_HEAP_SIZE: DEFAULT_EXPAND_SIZE_IDX: heap is expanded by this size at a time. REAL_TIME_ALLOC_LIMIT_IDX: real-time allocation are guranteed up to this size of memory requests. DEFAULT_GC_THRESHOLD: when heap vacancy rate is below this, the next gc cycle starts. R_UNIT: not yet used. M_UNIT: S_UNIT:
Definition at line 29 of file collector.h.
#define lock_collector mutex_lock(&collector_lock) |
Definition at line 251 of file collector.h.
#define M_UNIT 8000 /* 4000 */ |
Definition at line 45 of file collector.h.
Definition at line 185 of file collector.h.
#define marked_map | ( | p | ) | marked_hd(p) |
Definition at line 179 of file collector.h.
#define markoff_hd | ( | p | ) | (p->h.bix &= TAGMASK) |
Definition at line 184 of file collector.h.
#define markoff_map | ( | p | ) | markoff_hd(p) |
Definition at line 178 of file collector.h.
Definition at line 183 of file collector.h.
#define markon_map | ( | p | ) | markon_hd(p) |
Definition at line 177 of file collector.h.
#define mut_stat_phase gc_data.mut_stat_phase |
Definition at line 236 of file collector.h.
#define pgcpop | ( | ) | ( *(--(ctx->gsp)) ) |
Definition at line 292 of file collector.h.
( ctx->gsp < ctx->gcstacklimit ? \ pgpush(v) : error(E_GCSTACKOVER) )
Definition at line 290 of file collector.h.
#define PHASE_EPILOGUE 2 |
Definition at line 84 of file collector.h.
#define PHASE_MARK 4 |
Definition at line 87 of file collector.h.
#define PHASE_NOGC 0 |
Definition at line 82 of file collector.h.
#define PHASE_PROLOGUE 1 |
Definition at line 83 of file collector.h.
#define PHASE_ROOT_CORE 5 |
Definition at line 85 of file collector.h.
#define PHASE_ROOT_REM 6 |
Definition at line 86 of file collector.h.
#define PHASE_SWEEP 3 |
Definition at line 88 of file collector.h.
#define pointerpop | ( | lv | ) |
Definition at line 316 of file collector.h.
#define pointerpush | ( | v | ) |
{ \ busy_sema_wait(ps_sem); \ psp < pstacklimit ? ppush(v) : (pointer)error(E_PSTACKOVER); \ busy_sema_post(ps_sem); \ }
Definition at line 311 of file collector.h.
#define REALTIME_ALLOC_LIMIT_IDX 12 /* 1131 words */ |
Definition at line 40 of file collector.h.
#define ri_core_phase gc_data.ri_core_phase |
Definition at line 235 of file collector.h.
#define ri_end_cv gc_data.ri_end_cv |
Definition at line 245 of file collector.h.
#define S_UNIT 256 /* 128, 256, 512 */ |
Definition at line 46 of file collector.h.
#define TAGMASK 0x1f |
Definition at line 168 of file collector.h.
#define unlock_collector mutex_unlock(&collector_lock) |
Definition at line 252 of file collector.h.
typedef struct barrier_struct * barrier_t |
unsigned int allocate_heap | ( | ) |
Definition at line 1195 of file collector.c.
barrier_t barrier_init | ( | int | ) |
Definition at line 1128 of file collector.c.
void barrier_reset | ( | barrier_t | , |
int | |||
) |
Definition at line 1141 of file collector.c.
void barrier_wait | ( | barrier_t | ) |
Definition at line 1155 of file collector.c.
void do_a_little_gc_work | ( | ) |
void notify_gc | ( | ) |
Definition at line 716 of file collector.c.
Definition at line 53 of file collector.c.
mutex_t gcstate_lock |
volatile long newheap |
volatile long pastfree |
int ps_sem |
Definition at line 1036 of file collector.c.
Definition at line 1120 of file collector.c.
Definition at line 1119 of file collector.c.
mutex_t pstack_lock |
Definition at line 1122 of file collector.c.
Definition at line 1121 of file collector.c.
Definition at line 54 of file collector.c.
volatile long sweepheap |
struct _sweeping_state sweeping_state |