cyclegraph: add putNode() helper
authorBrian Norris <banorris@uci.edu>
Fri, 4 Jan 2013 17:53:04 +0000 (09:53 -0800)
committerBrian Norris <banorris@uci.edu>
Fri, 4 Jan 2013 17:53:04 +0000 (09:53 -0800)
cyclegraph.cc
cyclegraph.h

index 168ad90..672a398 100644 (file)
@@ -20,6 +20,19 @@ CycleGraph::~CycleGraph()
        delete discovered;
 }
 
+/**
+ * Add a CycleNode to the graph, corresponding to a store ModelAction
+ * @param act The write action that should be added
+ * @param node The CycleNode that corresponds to the store
+ */
+void CycleGraph::putNode(const ModelAction *act, CycleNode *node)
+{
+       actionToNode.put(act, node);
+#if SUPPORT_MOD_ORDER_DUMP
+       nodeList.push_back(node);
+#endif
+}
+
 /**
  * @brief Returns the CycleNode corresponding to a given ModelAction
  * @param action The ModelAction to find a node for
@@ -30,10 +43,7 @@ CycleNode * CycleGraph::getNode(const ModelAction *action)
        CycleNode *node = actionToNode.get(action);
        if (node == NULL) {
                node = new CycleNode(action);
-               actionToNode.put(action, node);
-#if SUPPORT_MOD_ORDER_DUMP
-               nodeList.push_back(node);
-#endif
+               putNode(action, node);
        }
        return node;
 }
index dcdeb3f..6b3d93e 100644 (file)
@@ -40,6 +40,7 @@ class CycleGraph {
 
        SNAPSHOTALLOC
  private:
+       void putNode(const ModelAction *act, CycleNode *node);
        CycleNode * getNode(const ModelAction *);
        HashTable<CycleNode *, CycleNode *, uintptr_t, 4, model_malloc, model_calloc, model_free> *discovered;