- std::map<int, class Thread *> *thread_map;
- std::map<void *, std::vector<action_list_t> > *obj_thrd_map;
+ HashTable<int, Thread *, int> *thread_map;
+
+ /** Per-object list of actions. Maps an object (i.e., memory location)
+ * to a trace of all actions performed on the object. */
+ HashTable<const void *, action_list_t, uintptr_t, 4> *obj_map;
+
+ HashTable<void *, std::vector<action_list_t>, uintptr_t, 4 > *obj_thrd_map;
+ std::vector<Promise *> * promises;