Optimize data race detector
[c11tester.git] / datarace.h
index 67d58e7c3c12cd46387391c132c62a945b911685..a9bc92f6625d30c54a2a50da995b543085471079 100644 (file)
@@ -44,10 +44,26 @@ struct DataRace {
 
 void initRaceDetector();
 void raceCheckWrite(thread_id_t thread, void *location);
+void atomraceCheckWrite(thread_id_t thread, void *location);
 void raceCheckRead(thread_id_t thread, const void *location);
+
+void atomraceCheckRead(thread_id_t thread, const void *location);
 void recordWrite(thread_id_t thread, void *location);
-bool checkDataRaces();
+void recordCalloc(void *location, size_t size);
 void assert_race(struct DataRace *race);
+bool hasNonAtomicStore(const void *location);
+void setAtomicStoreFlag(const void *location);
+void getStoreThreadAndClock(const void *address, thread_id_t * thread, modelclock_t * clock);
+
+void raceCheckRead8(thread_id_t thread, const void *location);
+void raceCheckRead16(thread_id_t thread, const void *location);
+void raceCheckRead32(thread_id_t thread, const void *location);
+void raceCheckRead64(thread_id_t thread, const void *location);
+
+void raceCheckWrite8(thread_id_t thread, void *location);
+void raceCheckWrite16(thread_id_t thread, void *location);
+void raceCheckWrite32(thread_id_t thread, void *location);
+void raceCheckWrite64(thread_id_t thread, void *location);
 
 /**
  * @brief A record of information for detecting data races