factor codes in history.* and move it to funcnode.*
authorweiyu <weiyuluo1232@gmail.com>
Thu, 27 Jun 2019 18:45:24 +0000 (11:45 -0700)
committerweiyu <weiyuluo1232@gmail.com>
Thu, 27 Jun 2019 18:45:24 +0000 (11:45 -0700)
funcnode.cc [new file with mode: 0644]
funcnode.h [new file with mode: 0644]
history.cc
history.h

diff --git a/funcnode.cc b/funcnode.cc
new file mode 100644 (file)
index 0000000..3a54511
--- /dev/null
@@ -0,0 +1,13 @@
+#include "funcnode.h"
+
+FuncInst::FuncInst(ModelAction *act) :
+       action(act)
+{
+       ASSERT(act);
+       this->position = act->get_position();
+}
+
+FuncNode::FuncNode() :
+       func_insts()
+{}
+
diff --git a/funcnode.h b/funcnode.h
new file mode 100644 (file)
index 0000000..03c92ef
--- /dev/null
@@ -0,0 +1,30 @@
+#include "action.h"
+#include "hashtable.h"
+
+class ModelAction;
+
+typedef ModelList<const ModelAction *> action_mlist_t;
+typedef SnapList<uint32_t> func_id_list_t;
+
+class FuncInst {
+public: 
+       FuncInst(ModelAction *act);
+       ~FuncInst();
+
+       ModelAction * get_action() const { return action; }
+       const char * get_position() const { return position; }
+private:
+       ModelAction * const action;
+       const char * position;
+};
+
+class FuncNode {
+public:
+       FuncNode();
+       ~FuncNode();
+
+       HashTable<const char *, FuncInst *, uintptr_t, 4> * getFuncInsts() { return &func_insts; }
+private:
+       HashTable<const char *, FuncInst *, uintptr_t, 4> func_insts;
+};
+
index f757a5d75dfa4ecd84fd8704402240c02e44b5c1..4af5728926a71ee9e764b71dbf27dab51210fbe4 100644 (file)
@@ -2,12 +2,6 @@
 #include "history.h"
 #include "action.h"
 
-HistoryNode::HistoryNode(ModelAction *act) :
-       action(act)
-{
-       ASSERT(act);
-       this->position = act->get_position();
-}
 
 /** @brief Constructor */
 ModelHistory::ModelHistory() :
index 03a8985292aa65cd97a56dc00fa3213fa86ae762..c8d2265fc12a0d52d5a5fd7b7c25d41a87d8dc74 100644 (file)
--- a/history.h
+++ b/history.h
@@ -9,18 +9,6 @@ class ModelAction;
 typedef ModelList<const ModelAction *> action_mlist_t;
 typedef SnapList<uint32_t> func_id_list_t;
 
-class HistoryNode {
-public: 
-       HistoryNode(ModelAction *act);
-       ~HistoryNode();
-
-       ModelAction * get_action() const { return action; }
-       const char * get_position() const { return position; }
-private:
-       ModelAction * const action;
-       const char * position;
-};
-
 class ModelHistory {
 public:
        ModelHistory();
@@ -29,20 +17,20 @@ public:
        void enter_function(const uint32_t func_id, thread_id_t tid);
        void exit_function(const uint32_t func_id, thread_id_t tid);
 
-        uint32_t get_func_counter() { return func_counter; }
-        void incr_func_counter() { func_counter++; }
+       uint32_t get_func_counter() { return func_counter; }
+       void incr_func_counter() { func_counter++; }
 
        void add_func_atomic(ModelAction *act, thread_id_t tid);
 
-        HashTable<const char *, uint32_t, uintptr_t, 4> * getFuncMap() { return &func_map; }
+       HashTable<const char *, uint32_t, uintptr_t, 4> * getFuncMap() { return &func_map; }
        ModelVector< action_mlist_t * > * getFuncAtomics() { return &func_atomics; }
 
        void print();
 private:
        uint32_t func_counter;
 
-        /* map function names to integer ids */ 
-        HashTable<const char *, uint32_t, uintptr_t, 4> func_map;
+       /* map function names to integer ids */ 
+       HashTable<const char *, uint32_t, uintptr_t, 4> func_map;
 
        ModelVector< action_mlist_t * > func_atomics;