5 #include "structdefs.h"
7 #define PMC_MINALLOC 131072
8 #define NUMPMCUNITS (4*NUMCORES4GC)
9 #define UNITSIZE (BAMBOO_SHARED_MEM_SIZE/NUMPMCUNITS)
12 tmc_spin_mutex_t lock;
13 unsigned int numbytes;
14 unsigned int regionnum;
24 unsigned int highunit;
25 tmc_spin_mutex_t lock;
26 struct ___Object___ * lastobj;
27 struct pmc_queue markqueue;
31 struct pmc_unit units[NUMPMCUNITS];
32 struct pmc_region regions[NUMCORES4GC];
33 tmc_spin_mutex_t lock;
34 volatile unsigned int numthreads;
35 tmc_spin_barrier_t barrier;
38 extern struct pmc_heap * pmc_heapptr;
39 extern struct pmc_queue * pmc_localqueue;
41 void * pmc_unitend(unsigned int index);
42 void incrementthreads();
43 void decrementthreads();
46 void gc(struct garbagelist *gl);