From a0e168f723a8d30200d5f4d479939e825b6388fe Mon Sep 17 00:00:00 2001 From: bdemsky Date: Thu, 18 Nov 2010 06:30:28 +0000 Subject: [PATCH] change --- Robust/src/Runtime/oooJava/hashStructure.c | 23 ++++++++++------------ 1 file changed, 10 insertions(+), 13 deletions(-) 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; - } } } -- 2.34.1