less hacky fix
authorbdemsky <bdemsky>
Thu, 12 Mar 2009 06:29:38 +0000 (06:29 +0000)
committerbdemsky <bdemsky>
Thu, 12 Mar 2009 06:29:38 +0000 (06:29 +0000)
Robust/src/Runtime/DSTM/interface/dstm.h

index b50052a30f08c3e833600d3605f64095be06083a..a621f9bd688c5f5cda2909aa0cc0bcba26f5ccd8 100644 (file)
@@ -256,7 +256,7 @@ chashlistnode_t * cnodetmp=&c_table[(inputvalue&c_mask)>>1];        \
 do { \
   if (cnodetmp->key==inputvalue) {x=(void *)&((objheader_t*)cnodetmp->val)[1];break;} \
 cnodetmp=cnodetmp->next;\
- if (cnodetmp==NULL) {x=(void *)transRead2(inputvalue); if (c_mask==4) {c_mask=0;c_table=0;/* Fixes a GCC bug... */};break;} \
+ if (cnodetmp==NULL) {x=(void *)transRead2(inputvalue); asm volatile("":"=m"(c_table),"=m"(c_mask));break;} \
 } while(1);\
 }}