#include <sys/times.h>#include "eus.h"#include <sys/param.h>#include "time.h"#include "rgc_utils.h"#include "xccmem.h"
Go to the source code of this file.
Classes | |
| struct | _marking_state |
Macros | |
| #define | GCDEBUG |
| #define | gcpush(v, off) |
| #define | MAXDISPOSE 256 |
| #define | PMAXSTACK (MAXSTACK * 110) |
Functions | |
| unsigned int | allocate_heap () |
| void | barrier_destroy (barrier_t barrier) |
| barrier_t | barrier_init (int n_clients) |
| void | barrier_reset (barrier_t barrier, int n_clients) |
| void | barrier_wait (barrier_t barrier) |
| static | call_disposers () |
| void | collect () |
| void | do_a_little_gc_work (int m_unit, int s_unit) |
| unsigned int | do_allocate_heap (unsigned int req_words) |
| static int | do_gc_epilogue () |
| static void | do_scan_roots () |
| static void | go_on_to_sweep_phase () |
| void | init_rgc () |
| static void | init_sync_data () |
| static int | mark_a_little (int m_unit) |
| static bpointer | mergecell (register bpointer p, int cbix) |
| void | notify_gc () |
| static | pnewgcstack (ms_entry *oldsp) |
| int | reclaim (bpointer p) |
| void | rgc_add_to_classtable (pointer newclass) |
| pointer | RGC_GCTIME (register context *ctx, int n, pointer argv[]) |
| pointer | RGCCOUNT (register context *ctx, int n, pointer argv[]) |
| void | rgcfunc (register context *ctx, pointer mod) |
| static void | scan_global_roots () |
| static void | scan_local_roots (int i) |
| static int | sweep_a_little (int gcmerge, int s_unit) |
| static void | wait_until_next_gc_cycle () |
Variables | |
| static int | black_cells |
| static pointer | dispose [MAXDISPOSE] |
| static int | dispose_count |
| static int | free_cells |
| struct _gc_data | gc_data |
| static int | gcmerge |
| unsigned int | gs [MAXTHREAD] |
| pointer | K_DISPOSE |
| long | marked_words = 0 |
| static struct _marking_state | marking_state |
| int | ps_sem = 1 |
| volatile pointer * | psp = pstack |
| pointer | pstack [PMAXSTACK] |
| mutex_t | pstack_lock |
| pointer * | pstacklimit = pstack + PMAXSTACK |
| static pointer | rgc_classtable = NULL |
| static int | rgc_credit = 0 |
| barrier_t | startup_barrier |
| struct _sweeping_state | sweeping_state |
| struct { | |
| mutex_t * lock | |
| thread_t tid | |
| char using | |
| } | thread_table [] |
| long long | values [] |
| static int | white_cells |
| #define GCDEBUG |
Definition at line 56 of file collector.c.
| #define gcpush | ( | v, | |
| off | |||
| ) |
| #define PMAXSTACK (MAXSTACK * 110) |
Definition at line 1118 of file collector.c.
| unsigned int allocate_heap | ( | ) |
Definition at line 1195 of file collector.c.
| void barrier_destroy | ( | barrier_t | barrier | ) |
Definition at line 1148 of file collector.c.
| barrier_t barrier_init | ( | int | n_clients | ) |
Definition at line 1128 of file collector.c.
| void barrier_reset | ( | barrier_t | barrier, |
| int | n_clients | ||
| ) |
Definition at line 1141 of file collector.c.
| void barrier_wait | ( | barrier_t | barrier | ) |
Definition at line 1155 of file collector.c.
|
static |
Definition at line 98 of file collector.c.
| void collect | ( | ) |
Definition at line 913 of file collector.c.
| void do_a_little_gc_work | ( | int | m_unit, |
| int | s_unit | ||
| ) |
Definition at line 886 of file collector.c.
| unsigned int do_allocate_heap | ( | unsigned int | req_words | ) |
Definition at line 1177 of file collector.c.
|
static |
Definition at line 850 of file collector.c.
|
static |
Definition at line 784 of file collector.c.
|
inlinestatic |
Definition at line 118 of file collector.c.
| void init_rgc | ( | ) |
Definition at line 484 of file collector.c.
|
static |
Definition at line 1038 of file collector.c.
|
static |
Definition at line 137 of file collector.c.
Definition at line 355 of file collector.c.
| void notify_gc | ( | ) |
Definition at line 716 of file collector.c.
|
static |
Definition at line 77 of file collector.c.
| int reclaim | ( | bpointer | p | ) |
Definition at line 315 of file collector.c.
| void rgc_add_to_classtable | ( | pointer | newclass | ) |
Definition at line 518 of file collector.c.
Definition at line 1219 of file collector.c.
Definition at line 1213 of file collector.c.
Definition at line 1235 of file collector.c.
|
static |
Definition at line 532 of file collector.c.
|
static |
Definition at line 551 of file collector.c.
|
static |
Definition at line 389 of file collector.c.
|
static |
Definition at line 818 of file collector.c.
|
static |
Definition at line 59 of file collector.c.
|
static |
Definition at line 44 of file collector.c.
|
static |
Definition at line 45 of file collector.c.
|
static |
Definition at line 59 of file collector.c.
| struct _gc_data gc_data |
Definition at line 53 of file collector.c.
|
static |
Definition at line 45 of file collector.c.
| unsigned int gs[MAXTHREAD] |
Definition at line 712 of file collector.c.
| mutex_t* lock |
Definition at line 49 of file collector.c.
| long marked_words = 0 |
Definition at line 135 of file collector.c.
|
static |
| int ps_sem = 1 |
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 516 of file collector.c.
|
static |
Definition at line 351 of file collector.c.
| barrier_t startup_barrier |
Definition at line 54 of file collector.c.
| struct _sweeping_state sweeping_state |
Definition at line 116 of file collector.c.
| struct { ... } thread_table[] |
| thread_t tid |
Definition at line 50 of file collector.c.
| char using |
Definition at line 48 of file collector.c.
| long long values[] |
|
static |
Definition at line 59 of file collector.c.