From: bdemsky Date: Mon, 28 Mar 2011 21:24:39 +0000 (+0000) Subject: bug fixes X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=d7f76f9b3a6ad7fd43c223c0f45e5a08a29b687e;p=IRC.git bug fixes --- diff --git a/Robust/src/Runtime/mlp_runtime.c b/Robust/src/Runtime/mlp_runtime.c index 7bc8c579..a7b6daee 100644 --- a/Robust/src/Runtime/mlp_runtime.c +++ b/Robust/src/Runtime/mlp_runtime.c @@ -585,6 +585,7 @@ int ADDSCC(MemoryQueue *Q, REntry *r) { return NOTREADY;//<- means that some other dispatcher got this one...so need to do accounting correctly } } else { + s->item.status=NOTREADY; Q->tail=(MemoryQueueItem*)S; return NOTREADY; } @@ -614,7 +615,7 @@ void RETIRESCC(MemoryQueue *Q, REntry *r) { void *flag=NULL; flag=(void*)LOCKXCHG((unsigned INTPTR*)&(s->val), (unsigned INTPTR)flag); if (flag!=NULL) { -#ifdef OOO_DISABLE_TASKMEMPOOL +#ifndef OOO_DISABLE_TASKMEMPOOL RELEASE_REFERENCE_TO(((REntry*)flag)->seseRec); #endif } @@ -816,7 +817,7 @@ void RESOLVEVECTOR(MemoryQueue *q, Vector *V) { poolfreeinto(q->rentrypool,val); #endif } -#if defined(RCR)&&defined(OOO_DISABLE_TASKMEMPOOL) +#if defined(RCR)&&!defined(OOO_DISABLE_TASKMEMPOOL) else if (atomic_sub_and_test(1, &((REntry *)val)->count)) poolfreeinto(q->rentrypool,val); RELEASE_REFERENCE_TO(seseCommon); @@ -838,7 +839,7 @@ void RESOLVESCC(SCC *S) { if (flag!=NULL) { SESEcommon *seseCommon=((REntry *)flag)->seseRec; resolveDependencies(flag); -#if defined(RCR)&&defined(OOO_DISABLE_TASKMEMPOOL) +#if defined(RCR)&&!defined(OOO_DISABLE_TASKMEMPOOL) if (atomic_sub_and_test(1, &((REntry *)flag)->count)) poolfreeinto(q->rentrypool, flag); RELEASE_REFERENCE_TO(seseCommon);