Optimize data race detector
[c11tester.git] / librace.cc
index 15ee94eb492bf2caedc9050e4ccfac75aa76a483..1d1ebbfc49338b06e6a9980ecd08faf08c35e615 100644 (file)
@@ -107,7 +107,9 @@ void cds_store8(void *addr)
        if (!model)
                return;
        thread_id_t tid = thread_current()->get_id();
-       raceCheckWrite(tid, addr);
+       raceCheckWrite8(tid, addr);
+
+//     raceCheckWrite(tid, addr);
 }
 
 void cds_store16(void *addr)
@@ -116,8 +118,10 @@ void cds_store16(void *addr)
        if (!model)
                return;
        thread_id_t tid = thread_current()->get_id();
-       raceCheckWrite(tid, addr);
-       raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 1));
+       raceCheckWrite16(tid, addr);
+
+//     raceCheckWrite(tid, addr);
+//     raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 1));
 }
 
 void cds_store32(void *addr)
@@ -126,10 +130,14 @@ void cds_store32(void *addr)
        if (!model)
                return;
        thread_id_t tid = thread_current()->get_id();
+       raceCheckWrite32(tid, addr);
+
+/*
        raceCheckWrite(tid, addr);
        raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 1));
        raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 2));
        raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 3));
+*/
 }
 
 void cds_store64(void *addr)
@@ -138,6 +146,9 @@ void cds_store64(void *addr)
        if (!model)
                return;
        thread_id_t tid = thread_current()->get_id();
+       raceCheckWrite64(tid, addr);
+
+/*
        raceCheckWrite(tid, addr);
        raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 1));
        raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 2));
@@ -146,6 +157,7 @@ void cds_store64(void *addr)
        raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 5));
        raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 6));
        raceCheckWrite(tid, (void *)(((uintptr_t)addr) + 7));
+*/
 }
 
 void cds_load8(const void *addr) {
@@ -153,7 +165,8 @@ void cds_load8(const void *addr) {
                return;
        thread_id_t tid = thread_current()->get_id();
 
-       raceCheckReadOpt(tid, addr, 1);
+       raceCheckRead8(tid, addr);
+
 //     raceCheckRead(tid, addr);
 }
 
@@ -162,7 +175,7 @@ void cds_load16(const void *addr) {
                return;
        thread_id_t tid = thread_current()->get_id();
 
-       raceCheckReadOpt(tid, addr, 2);
+       raceCheckRead16(tid, addr);
 //     raceCheckRead(tid, addr);
 //     raceCheckRead(tid, (const void *)(((uintptr_t)addr) + 1));
 }
@@ -172,7 +185,7 @@ void cds_load32(const void *addr) {
                return;
        thread_id_t tid = thread_current()->get_id();
 
-       raceCheckReadOpt(tid, addr, 4);
+       raceCheckRead32(tid, addr);
 /*
        raceCheckRead(tid, addr);
        raceCheckRead(tid, (const void *)(((uintptr_t)addr) + 1));
@@ -186,7 +199,7 @@ void cds_load64(const void *addr) {
                return;
        thread_id_t tid = thread_current()->get_id();
 
-       raceCheckReadOpt(tid, addr, 8);
+       raceCheckRead64(tid, addr);
 /*
        raceCheckRead(tid, addr);
        raceCheckRead(tid, (const void *)(((uintptr_t)addr) + 1));