// enqueue root objs
INLINE void tomark(struct garbagelist * stackptr) {
- BAMBOO_ASSERT(MARKPHASE == gcphase);
+ BAMBOO_ASSERT(MARKPHASE == gc_status_info.gcphase);
- gcbusystatus = true;
+ gc_status_info.gcbusystatus = true;
gcnumlobjs = 0;
// enqueue current stack
unsigned int isize = 0;
bool sendStall = false;
// mark phase
- while(MARKPHASE == gcphase) {
+ while(MARKPHASE == gc_status_info.gcphase) {
int counter = 0;
while(gc_moreItems2()) {
sendStall = false;
- gcbusystatus = true;
+ gc_status_info.gcbusystatus = true;
unsigned int ptr = gc_dequeue2();
unsigned int size = 0;
// scan the pointers in object
scanPtrsInObj(ptr, type);
}
- gcbusystatus = false;
+ gc_status_info.gcbusystatus = false;
// send mark finish msg to core coordinator
if(STARTUPCORE == BAMBOO_NUM_OF_CORE) {
int entry_index = waitconfirm ? (gcnumsrobjs_index==0) : gcnumsrobjs_index;