projects
/
model-checker.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
switch to snapshot/modelalloc versions of stl classes
[model-checker.git]
/
cyclegraph.h
diff --git
a/cyclegraph.h
b/cyclegraph.h
index a2cb93d7ca702217be5af879cbf0c2ba34f9a67e..d5c6a92af78715de0ff4f2c323a578b7a43f6ff1 100644
(file)
--- a/
cyclegraph.h
+++ b/
cyclegraph.h
@@
-9,7
+9,7
@@
#ifndef __CYCLEGRAPH_H__
#define __CYCLEGRAPH_H__
#ifndef __CYCLEGRAPH_H__
#define __CYCLEGRAPH_H__
-#include
<vector>
+#include
"stl_wrappers.h"
#include <inttypes.h>
#include <stdio.h>
#include <inttypes.h>
#include <stdio.h>
@@
-21,7
+21,7
@@
class Promise;
class CycleNode;
class ModelAction;
class CycleNode;
class ModelAction;
-typedef
std::vector< const Promise *, ModelAlloc<const Promise *>
> promise_list_t;
+typedef
model_vector< const Promise *
> promise_list_t;
/** @brief A graph of Model Actions for tracking cycles. */
class CycleGraph {
/** @brief A graph of Model Actions for tracking cycles. */
class CycleGraph {
@@
-53,8
+53,7
@@
class CycleGraph {
void dot_print_edge(FILE *file, const T *from, const U *to, const char *prop);
#endif
void dot_print_edge(FILE *file, const T *from, const U *to, const char *prop);
#endif
- bool resolvePromise(const Promise *promise, ModelAction *writer,
- promise_list_t *mustResolve);
+ bool resolvePromise(const Promise *promise, ModelAction *writer);
SNAPSHOTALLOC
private:
SNAPSHOTALLOC
private:
@@
-66,10
+65,11
@@
class CycleGraph {
CycleNode * getNode(const Promise *promise);
CycleNode * getNode_noCreate(const ModelAction *act) const;
CycleNode * getNode_noCreate(const Promise *promise) const;
CycleNode * getNode(const Promise *promise);
CycleNode * getNode_noCreate(const ModelAction *act) const;
CycleNode * getNode_noCreate(const Promise *promise) const;
- bool mergeNodes(CycleNode *node1, CycleNode *node2,
- promise_list_t *mustMerge);
+ bool mergeNodes(CycleNode *node1, CycleNode *node2);
HashTable<const CycleNode *, const CycleNode *, uintptr_t, 4, model_malloc, model_calloc, model_free> *discovered;
HashTable<const CycleNode *, const CycleNode *, uintptr_t, 4, model_malloc, model_calloc, model_free> *discovered;
+ model_vector< const CycleNode * > * queue;
+
/** @brief A table for mapping ModelActions to CycleNodes */
HashTable<const ModelAction *, CycleNode *, uintptr_t, 4> actionToNode;
/** @brief A table for mapping ModelActions to CycleNodes */
HashTable<const ModelAction *, CycleNode *, uintptr_t, 4> actionToNode;