remove hashtable functionality
[cdsspec-compiler.git] / model.h
diff --git a/model.h b/model.h
index 7065960b882bc8fc71eb3da2f8565fb1adc9eb9d..85101fee11931f581c1d8812737b0532d20b693b 100644 (file)
--- a/model.h
+++ b/model.h
@@ -51,7 +51,7 @@ struct model_params {
 
 struct PendingFutureValue {
        ModelAction *writer;
-       ModelAction * act;
+       ModelAction *act;
 };
 
 /** @brief Records information regarding a single pending release sequence */
@@ -87,6 +87,9 @@ public:
        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();
@@ -112,7 +115,6 @@ public:
        void set_bad_synchronization() { bad_synchronization = true; }
 
        const model_params params;
-       Scheduler * get_scheduler() { return scheduler;}
        Node * get_curr_node();
 
        MEMALLOC
@@ -176,17 +178,17 @@ private:
 
        /** 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;