1 #ifndef BAMBOO_MULTICORE_MGC_H
2 #define BAMBOO_MULTICORE_MGC_H
4 // shared memory pointer for global thread queue
5 // In MGC version, this block of memory is located at the very bottom of the
6 // shared memory with the base address as BAMBOO_BASE_VA.
7 // The bottom of the shared memory = global thread queue + sbstart tbl
8 // + smemtbl + NUMCORES4GC bamboo_rmsp
9 // This queue is always reside at the bottom of the shared memory. It is
10 // considered as runtime structure, during gc, it is scanned for mark and flush
11 // phase but never been compacted.
13 // This is a loop array and the first 4 int fields of the queue are:
14 // mutex + thread counter + start pointer + end pointer
15 // data structures for threads
16 unsigned int * bamboo_thread_queue;
17 unsigned int bamboo_max_thread_num_mask;
18 unsigned int bamboo_current_thread;
22 #endif // BAMBOO_MULTICORE_MGC_H