From: bdemsky Date: Thu, 30 Jun 2011 07:58:28 +0000 (+0000) Subject: more bug fixes X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4ed7623659fbde2e13ee6b72405fbadd56699226;p=IRC.git more bug fixes --- diff --git a/Robust/src/Runtime/bamboo/multicoregcmark.c b/Robust/src/Runtime/bamboo/multicoregcmark.c index 71a23c48..a35a7932 100644 --- a/Robust/src/Runtime/bamboo/multicoregcmark.c +++ b/Robust/src/Runtime/bamboo/multicoregcmark.c @@ -232,12 +232,12 @@ void mark(struct garbagelist * stackptr) { tomark(stackptr); unsigned int isize = 0; - bool sendStall = false; + gc_status_info.gcbusystatus = true; + // mark phase while(MARKPHASE == gc_status_info.gcphase) { int counter = 0; while(gc_moreItems()) { - sendStall = false; gc_status_info.gcbusystatus = true; void * ptr = gc_dequeue(); unsigned int size = 0; @@ -278,7 +278,6 @@ void mark(struct garbagelist * stackptr) { //make sure the queue is still empty...now we have interrupts off, things can't change on us... if (!gc_moreItems_I()) { - 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; @@ -288,9 +287,9 @@ void mark(struct garbagelist * stackptr) { BAMBOO_ENTER_CLIENT_MODE_FROM_RUNTIME(); checkMarkStatus(); } else { - if(!sendStall) { + if(gc_status_info.gcbusystatus) { + gc_status_info.gcbusystatus = false; send_msg_4(STARTUPCORE,GCFINISHMARK,BAMBOO_NUM_OF_CORE,gcself_numsendobjs,gcself_numreceiveobjs); - sendStall = true; } BAMBOO_ENTER_CLIENT_MODE_FROM_RUNTIME(); }