From: bdemsky Date: Thu, 18 Nov 2010 06:30:28 +0000 (+0000) Subject: change X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a0e168f723a8d30200d5f4d479939e825b6388fe;p=IRC.git change --- diff --git a/Robust/src/Runtime/oooJava/hashStructure.c b/Robust/src/Runtime/oooJava/hashStructure.c index a51e5f2e..36876afe 100644 --- a/Robust/src/Runtime/oooJava/hashStructure.c +++ b/Robust/src/Runtime/oooJava/hashStructure.c @@ -257,6 +257,16 @@ inline int rcr_BREADBINCASE(HashStructure *T, int key, SESEcommon *task, struct return status; } } + rcr_TAILWRITECASE(T, val, bintail, key, task, rcrrec, index); + if (mode) { + struct BinItem_rcr * bt=be->tail; + while(bt->status!=READY) { + BARRIER(); + } + return READY; + } else { + return NOTREADY; + } } else { TraverserData * td = &((ReadBinItem_rcr *)bintail)->array[((ReadBinItem_rcr *)bintail)->index - 1]; if (unlikely(td->task==task)) { @@ -275,9 +285,7 @@ inline int rcr_BREADBINCASE(HashStructure *T, int key, SESEcommon *task, struct } return status; } - } - if (ISREADBIN(bintail->type)) { if ((((INTPTR)task)&PARENTBIN)&&(bintail->status==READY)) { be->head=val; return READY; @@ -293,17 +301,6 @@ inline int rcr_BREADBINCASE(HashStructure *T, int key, SESEcommon *task, struct } else { return stat; } - } else { - rcr_TAILWRITECASE(T, val, bintail, key, task, rcrrec, index); - if (mode) { - struct BinItem_rcr * bt=be->tail; - while(bt->status!=READY) { - BARRIER(); - } - return READY; - } else { - return NOTREADY; - } } }