without this barrier the compiler can optimize variable val out and the critical...
authorjjenista <jjenista>
Fri, 5 Nov 2010 17:51:05 +0000 (17:51 +0000)
committerjjenista <jjenista>
Fri, 5 Nov 2010 17:51:05 +0000 (17:51 +0000)
Robust/src/Runtime/mlp_runtime.c

index 2adeb1d1fabc18b1ad3bbdf036651e5e061650fd..7f8395dd051ef13b01a2666d447734dd8d08948c 100644 (file)
@@ -977,6 +977,7 @@ void resolvePointer(REntry* rentry){
   do {  
     val=(struct Queue*)0x1;
     val=(struct Queue*)LOCKXCHG((unsigned INTPTR*)&(table->unresolvedQueue), (unsigned INTPTR)val);
+    BARRIER();
   } while(val==(struct Queue*)0x1); 
   if(val!=NULL && 
      getHead(val)!=NULL &&