// do gc
send_msg_4(STARTUPCORE,GCFINISHPRE,BAMBOO_NUM_OF_CORE,self_numsendobjs,self_numreceiveobjs);
+ // invalidate all shared mem pointers
+ bamboo_cur_msp = NULL;
+ bamboo_smem_size = 0;
+ bamboo_smem_zero_top = NULL;
+ gcflag = false;
+
+
// core collector routine
//wait for init phase
WAITFORGCPHASE(INITPHASE);
CACHEADAPT_PHASE_CLIENT();
- // invalidate all shared mem pointers
- bamboo_cur_msp = NULL;
- bamboo_smem_size = 0;
- bamboo_smem_zero_top = NULL;
- gcflag = false;
-
WAITFORGCPHASE(FINISHPHASE);
GC_PRINTF("Finish gc! \n");
// inform the master that this core is at a gc safe point and is ready to
// do gc
send_msg_4(STARTUPCORE,GCFINISHPRE,BAMBOO_NUM_OF_CORE,self_numsendobjs,self_numreceiveobjs);
+
+ // invalidate all shared mem pointers
+ bamboo_cur_msp = NULL;
+ bamboo_smem_size = 0;
+ bamboo_smem_zero_top = NULL;
+ gcflag = false;
WAITFORGCPHASE(INITPHASE);
CACHEADAPT_PHASE_CLIENT();
- // invalidate all shared mem pointers
- bamboo_cur_msp = NULL;
- bamboo_smem_size = 0;
- bamboo_smem_zero_top = NULL;
-
- gcflag = false;
WAITFORGCPHASE(FINISHPHASE);
GC_PRINTF("Finish gc! \n");
while(!gc_checkCoreStatus())
;
- pregccheck();
+ //pregccheck();
GCPROFILE_START_MASTER();
GC_PRINTF("start gc! \n");
gc_master(stackptr);