projects
/
IRC.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8aa2c0a
)
more bug fixes
author
bdemsky
<bdemsky>
Thu, 30 Jun 2011 07:58:28 +0000
(07:58 +0000)
committer
bdemsky
<bdemsky>
Thu, 30 Jun 2011 07:58:28 +0000
(07:58 +0000)
Robust/src/Runtime/bamboo/multicoregcmark.c
patch
|
blob
|
history
diff --git
a/Robust/src/Runtime/bamboo/multicoregcmark.c
b/Robust/src/Runtime/bamboo/multicoregcmark.c
index 71a23c48e9776cfdac386cdee15549be4169e60a..a35a79322b16fb8d8d52eca42602aff4cc45b71e 100644
(file)
--- 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;
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()) {
// 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;
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()) {
//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;
// 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 {
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);
send_msg_4(STARTUPCORE,GCFINISHMARK,BAMBOO_NUM_OF_CORE,gcself_numsendobjs,gcself_numreceiveobjs);
- sendStall = true;
}
BAMBOO_ENTER_CLIENT_MODE_FROM_RUNTIME();
}
}
BAMBOO_ENTER_CLIENT_MODE_FROM_RUNTIME();
}