changes
authorbdemsky <bdemsky>
Wed, 2 Dec 2009 19:24:04 +0000 (19:24 +0000)
committerbdemsky <bdemsky>
Wed, 2 Dec 2009 19:24:04 +0000 (19:24 +0000)
Robust/src/Runtime/DSTM/interface/dsmlock.c
Robust/src/Runtime/DSTM/interface/dsmlock.h

index ac9de02de0b85eb6f67dec2d6dd356f8dc245e93..b1b61071ea780f9dfaa34c16fb0100f628d6b500 100644 (file)
@@ -22,12 +22,12 @@ inline void writeLock(volatile unsigned int *addr) {
 
 inline void atomic_dec(volatile unsigned int *v) {
   __asm__ __volatile__ (LOCK_PREFIX "decl %0"
-                       : "+m" (v));
+                       : "+m" (*v));
 }
 
 inline void atomic_inc(volatile unsigned int *v) {
   __asm__ __volatile__ (LOCK_PREFIX "incl %0"
-                       : "+m" (v));
+                       : "+m" (*v));
 }
 
 static inline int atomic_sub_and_test(int i, atomic_t *v) {
index 7a56b47b9b246f8bf5ade0a0ee0ee6078038068c..4a383ab43e3db64688364e409516b0442de4b260 100644 (file)
@@ -2,7 +2,7 @@
 #define _DSMLOCK_H_
 
 #define RW_LOCK_BIAS             0x01000000
-#define atomic_read(v)          (v)
+#define atomic_read(v)          (*v)
 #define RW_LOCK_UNLOCKED          { RW_LOCK_BIAS }
 //#define LOCK_PREFIX ""
 #define LOCK_PREFIX \