-void raceCheckWrite(thread_id_t thread, void *location, ClockVector *currClock);
-void raceCheckRead(thread_id_t thread, void *location, ClockVector *currClock);
-void checkDataRaces();
-void printRace(struct DataRace *race);
-
-extern std::vector<struct DataRace *> unrealizedraces;
-
-/** Basic encoding idea:
- * (void *) Either:
- * (1) points to a full record or
- *
- * (2) encodes the information in a 64 bit word. Encoding is as
- * follows: lowest bit set to 1, next 8 bits are read thread id, next
- * 23 bits are read clock vector, next 8 bites are write thread id,
- * next 23 bits are write clock vector. */
+void raceCheckWrite(thread_id_t thread, void *location);
+void raceCheckRead(thread_id_t thread, const void *location);
+bool checkDataRaces();
+void assert_race(struct DataRace *race);
+
+extern SnapVector<struct DataRace *> unrealizedraces;