Remove redundant data structures and FuncNode's dependencies on old actions
[c11tester.git] / funcinst.h
index e96eb19067ba2afb6831810dbece99bdb8f81a7a..ca733f6738b6235d45158bc8c450749ad7a1d630 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "action.h"
 #include "hashtable.h"
+#include "threads-model.h"
 
 class ModelAction;
 
@@ -39,8 +40,8 @@ public:
        void set_execution_number(int new_number) { execution_number = new_number; }
        int get_execution_number() { return execution_number; }
 
-       void set_associated_act(ModelAction * act, uint32_t marker);
-       ModelAction * get_associated_act(uint32_t marker);
+       void set_associated_read(thread_id_t tid, uint64_t read_val, uint32_t marker);
+       uint64_t get_associated_read(thread_id_t tid, uint32_t marker);
 
        void print();
 
@@ -49,7 +50,7 @@ private:
        const char * position;
 
        /* Atomic operations with the same source line number may act at different
-        * memory locations, such as the next field of the head pointer in ms-queue. 
+        * memory locations, such as the next field of the head pointer in ms-queue.
         * location only stores the memory location when this FuncInst was constructed.
         */
        void * location;
@@ -64,8 +65,8 @@ private:
        bool single_location;
        int execution_number;
 
-       ModelAction * associated_act;
-       uint32_t action_marker;
+       ModelVector<uint64_t> associated_reads;
+       ModelVector<uint32_t> thrd_marker;
 
        /**
         * Collisions store a list of FuncInsts with the same position