model: replace list type with action_list_t
[model-checker.git] / model.cc
index 2b295dea1b24d631ce2a0da7942aeed734c8fc46..ec99b9a745de0960087e1f4a4bd33aafa82a920c 100644 (file)
--- a/model.cc
+++ b/model.cc
@@ -30,7 +30,7 @@ ModelChecker::ModelChecker(struct model_params params) :
        obj_thrd_map(new HashTable<void *, std::vector<action_list_t>, uintptr_t, 4 >()),
        promises(new std::vector<Promise *>()),
        futurevalues(new std::vector<struct PendingFutureValue>()),
-       lazy_sync_with_release(new HashTable<void *, std::list<ModelAction *>, uintptr_t, 4>()),
+       lazy_sync_with_release(new HashTable<void *, action_list_t, uintptr_t, 4>()),
        thrd_last_action(new std::vector<ModelAction *>(1)),
        node_stack(new NodeStack()),
        mo_graph(new CycleGraph()),
@@ -931,8 +931,7 @@ bool ModelChecker::thin_air_constraint_may_allow(const ModelAction * writer, con
  * @return true, if the ModelChecker is certain that release_heads is complete;
  * false otherwise
  */
-bool ModelChecker::release_seq_head(const ModelAction *rf,
-                std::vector< const ModelAction *, MyAlloc<const ModelAction *> > *release_heads) const
+bool ModelChecker::release_seq_head(const ModelAction *rf, rel_heads_list_t *release_heads) const
 {
        if (!rf) {
                /* read from future: need to settle this later */
@@ -1037,15 +1036,14 @@ bool ModelChecker::release_seq_head(const ModelAction *rf,
  * with the head(s) of the release sequence(s), if they exists with certainty.
  * @see ModelChecker::release_seq_head
  */
-void ModelChecker::get_release_seq_heads(ModelAction *act,
-                std::vector< const ModelAction *, MyAlloc<const ModelAction *> > *release_heads)
+void ModelChecker::get_release_seq_heads(ModelAction *act, rel_heads_list_t *release_heads)
 {
        const ModelAction *rf = act->get_reads_from();
        bool complete;
        complete = release_seq_head(rf, release_heads);
        if (!complete) {
                /* add act to 'lazy checking' list */
-               std::list<ModelAction *> *list;
+               action_list_t *list;
                list = lazy_sync_with_release->get_safe_ptr(act->get_location());
                list->push_back(act);
                (*lazy_sync_size)++;
@@ -1067,17 +1065,17 @@ void ModelChecker::get_release_seq_heads(ModelAction *act,
  */
 bool ModelChecker::resolve_release_sequences(void *location, work_queue_t *work_queue)
 {
-       std::list<ModelAction *> *list;
+       action_list_t *list;
        list = lazy_sync_with_release->getptr(location);
        if (!list)
                return false;
 
        bool updated = false;
-       std::list<ModelAction *>::iterator it = list->begin();
+       action_list_t::iterator it = list->begin();
        while (it != list->end()) {
                ModelAction *act = *it;
                const ModelAction *rf = act->get_reads_from();
-               std::vector< const ModelAction *, MyAlloc<const ModelAction *> > release_heads;
+               rel_heads_list_t release_heads;
                bool complete;
                complete = release_seq_head(rf, &release_heads);
                for (unsigned int i = 0; i < release_heads.size(); i++) {