Thread * get_thread(thread_id_t tid) const;
Thread * get_thread(ModelAction *act) const;
+ bool is_enabled(Thread *t) const;
+ bool is_enabled(thread_id_t tid) const;
+
thread_id_t get_next_id();
unsigned int get_num_threads() const;
Thread * get_current_thread();
void set_bad_synchronization() { bad_synchronization = true; }
const model_params params;
- Scheduler * get_scheduler() { return scheduler;}
Node * get_curr_node();
MEMALLOC
/** 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<const void *, action_list_t *, uintptr_t, 4> *obj_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> *lock_waiters_map;
+ HashTable<const void *, action_list_t *, uintptr_t, 4> *lock_waiters_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> *condvar_waiters_map;
+ HashTable<const void *, action_list_t *, uintptr_t, 4> *condvar_waiters_map;
- HashTable<void *, std::vector<action_list_t>, uintptr_t, 4 > *obj_thrd_map;
+ HashTable<void *, std::vector<action_list_t> *, uintptr_t, 4 > *obj_thrd_map;
std::vector< Promise *, SnapshotAlloc<Promise *> > *promises;
std::vector< struct PendingFutureValue, SnapshotAlloc<struct PendingFutureValue> > *futurevalues;