gcphase = 0;
for(i = 1; i < NUMCORES - 1; i++) {
// send GC start messages to all cores
- send_msg_1(true, i, 0x11);
+ send_msg_1(i, 0x11);
}
bool isfirst = true;
lObjList.head = NULL;
for(i = 1; i < NUMCORES; ++i) {
gccorestatus[i] = 1;
// send mark phase finish confirm request msg to core i
- send_msg_1(true, i, 0x18);
+ send_msg_1(i, 0x18);
}
} else {
// all the core status info are the latest
// send msgs to all cores requiring large objs info
gcnumconfirm = NUMCORES - 1;
for(i = 1; i < NUMCORES; ++i) {
- send_msg_1(true, i, 0x1e);
+ send_msg_1(i, 0x1e);
}
while(gcnumconfirm != 0) {} // wait for responses
// TODO compute load balance
gcphase = 2;
for(i = 1; i < NUMCORES; ++i) {
// send start flush messages to all cores
- send_msg_1(true, i, 0x13);
+ send_msg_1(i, 0x13);
}
// flush phase
gcphase = 3;
for(i = 1; i < NUMCORES; ++i) {
// send gc finish messages to all cores
- send_msg_1(true, i, 0x17);
+ send_msg_1(i, 0x17);
}
// change to UDN0
addNewItem(gctomark, objptr);
} else {
// send a msg to host informing that objptr is active
- send_msg_2(true, host, 0x1a, objptr);
+ send_msg_2(host, 0x1a, objptr);
gcself_numsendobjs++;
}
}
addNewItem(gctomark, objptr);
} else {
// send a msg to host informing that objptr is active
- send_msg_2(true, host, 0x1a, objptr);
+ send_msg_2(host, 0x1a, objptr);
gcself_numsendobjs++;
}
}
} // while(!isEmpty(gctomark))
gcbusystatus = false;
// send mark finish msg to core coordinator
- send_msg_4(true, STARTUPCORE, 0x14, BAMBOO_NUM_OF_CORE, gcself_numsendobjs, gcself_numreceiveobjs);
+ send_msg_4(STARTUPCORE, 0x14, BAMBOO_NUM_OF_CORE, gcself_numsendobjs, gcself_numreceiveobjs);
if(BAMBOO_NUM_OF_CORE == 0) {
return;
if(cinstruction->incomingobjs != NULL) {
for(int j = 0; j < cinstruction->incomingobjs->length; j++) {
// send messages to corresponding cores to start moving
- send_msg_2(true, cinstruction->incomingobjs->dsts[j], 0x1b, BAMBOO_NUM_OF_CORE);
+ send_msg_2(cinstruction->incomingobjs->dsts[j], 0x1b, BAMBOO_NUM_OF_CORE);
}
}
} else {
}while(cinstruction->largeobjs != NULL);
}
// send compact finish message to core coordinator
- send_msg_2(true, STARTUPCORE, 0x15, BAMBOO_NUM_OF_CORE);
+ send_msg_2(STARTUPCORE, 0x15, BAMBOO_NUM_OF_CORE);
} // compact()
obj2map = (int)objptr;
ismapped = false;
mappedobj = NULL;
- send_msg_3(true, hostcore(objptr), 0x1c, (int)objptr, BAMBOO_NUM_OF_CORE);
+ send_msg_3(hostcore(objptr), 0x1c, (int)objptr, BAMBOO_NUM_OF_CORE);
while(!ismapped) {}
dstptr = mappedobj;
}
obj2map = (int)objptr;
ismapped = false;
mappedobj = NULL;
- send_msg_3(true, hostcore(objptr), 0x1c, (int)objptr, BAMBOO_NUM_OF_CORE);
+ send_msg_3(hostcore(objptr), 0x1c, (int)objptr, BAMBOO_NUM_OF_CORE);
while(!ismapped) {}
dstptr = mappedobj;
}
moi = moi->next;
} // while(moi != NULL)
// send flush finish message to core coordinator
- send_msg_2(true, STARTUPCORE, 0x16, BAMBOO_NUM_OF_CORE);
+ send_msg_2(STARTUPCORE, 0x16, BAMBOO_NUM_OF_CORE);
} // flush()
} else {
// send response msg
if(gcisMsgSending) {
- cache_msg_5(true, STARTUPCORE, 0x19, BAMBOO_NUM_OF_CORE, gcbusystatus, gcself_numsendobjs, gcself_numreceiveobjs);
+ cache_msg_5(STARTUPCORE, 0x19, BAMBOO_NUM_OF_CORE, gcbusystatus, gcself_numsendobjs, gcself_numreceiveobjs);
} else {
- send_msg_5(true, STARTUPCORE, 0x19, BAMBOO_NUM_OF_CORE, gcbusystatus, gcself_numsendobjs, gcself_numreceiveobjs);
+ send_msg_5(STARTUPCORE, 0x19, BAMBOO_NUM_OF_CORE, gcbusystatus, gcself_numsendobjs, gcself_numreceiveobjs);
}
}
break;
} else {
// send back the mapping info
if(gcisMsgSending) {
- cache_msg_3(true, gcmsgdata[2], 0x1d, data1, dstptr);
+ cache_msg_3(gcmsgdata[2], 0x1d, data1, dstptr);
} else {
- send_msg_3(true, gcmsgdata[2], 0x1d, data1, dstptr);
+ send_msg_3(gcmsgdata[2], 0x1d, data1, dstptr);
}
}
break;
for(i = 1; i < NUMCORES; ++i) {
corestatus[i] = 1;
// send status confirm msg to core i
- send_msg_1(false, i, 0xc);
+ send_msg_1(i, 0xc);
}
waitconfirm = true;
numconfirm = NUMCORES - 1;
#endif
for(i = 1; i < NUMCORES; ++i) {
// send profile request msg to core i
- send_msg_2(false, i, 6, totalexetime);
+ send_msg_2(i, 6, totalexetime);
}
// pour profiling data on startup core
outputProfileData();
BAMBOO_DEBUGPRINT(0xee0b);
#endif
// send stall msg
- send_msg_4(false, STARTUPCORE, 1, BAMBOO_NUM_OF_CORE, self_numsendobjs, self_numreceiveobjs);
+ send_msg_4(STARTUPCORE, 1, BAMBOO_NUM_OF_CORE, self_numsendobjs, self_numreceiveobjs);
sendStall = true;
isfirst = true;
busystatus = false;
// for 32 bit machine, the size is always 4 words
int tmp = deny==1?4:3;
if(isMsgSending) {
- cache_msg_4(false, data4, tmp, data1, data2, data3);
+ cache_msg_4(data4, tmp, data1, data2, data3);
} else {
- send_msg_4(false, data4, tmp, data1, data2, data3);
+ send_msg_4(data4, tmp, data1, data2, data3);
}
}
break;
totalexetime = data1;
outputProfileData();
if(isMsgSending) {
- cache_msg_2(false, STARTUPCORE, 7, BAMBOO_NUM_OF_CORE);
+ cache_msg_2(STARTUPCORE, 7, BAMBOO_NUM_OF_CORE);
} else {
- send_msg_2(false, STARTUPCORE, 7, BAMBOO_NUM_OF_CORE);
+ send_msg_2(STARTUPCORE, 7, BAMBOO_NUM_OF_CORE);
}
break;
}
// send response msg
// for 32 bit machine, the size is always 4 words
if(isMsgSending) {
- cache_msg_4(false, data4, deny==1?0xa:9, data1, data2, data3);
+ cache_msg_4(data4, deny==1?0xa:9, data1, data2, data3);
} else {
- send_msg_4(false, data4, deny==1?0xa:9, data1, data2, data3);
+ send_msg_4(data4, deny==1?0xa:9, data1, data2, data3);
}
}
break;
#endif
#endif
if(isMsgSending) {
- cache_msg_3(false, STARTUPCORE, 0xd, busystatus?1:0, BAMBOO_NUM_OF_CORE);
+ cache_msg_3(STARTUPCORE, 0xd, busystatus?1:0, BAMBOO_NUM_OF_CORE);
} else {
- send_msg_3(false, STARTUPCORE, 0xd, busystatus?1:0, BAMBOO_NUM_OF_CORE);
+ send_msg_3(STARTUPCORE, 0xd, busystatus?1:0, BAMBOO_NUM_OF_CORE);
}
}
break;
}
// send the start_va to request core
if(isMsgSending) {
- cache_msg_3(false, msgdata[2], 0x10, mem, msgdata[1]);
+ cache_msg_3(msgdata[2], 0x10, mem, msgdata[1]);
} else {
- send_msg_3(false, msgdata[2], 0x10, mem, msgdata[1]);
+ send_msg_3( msgdata[2], 0x10, mem, msgdata[1]);
}
}
break;