X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=model.h;h=0af3425deefa1743fd03ca99c055678c26f48e22;hb=7524803854c2de38c0311fe5037e3c17105ccfaa;hp=96c1ec78a60ca343400c309b2e756ae53fb39967;hpb=ea4611c1fc3b580020afbc04d531e4bc10fcca9c;p=model-checker.git diff --git a/model.h b/model.h index 96c1ec7..0af3425 100644 --- a/model.h +++ b/model.h @@ -5,7 +5,7 @@ #ifndef __MODEL_H__ #define __MODEL_H__ -#include +#include "stl_wrappers.h" #include #include #include @@ -27,9 +27,9 @@ class ClockVector; struct model_snapshot_members; /** @brief Shorthand for a list of release sequence heads */ -typedef std::vector< const ModelAction *, ModelAlloc > rel_heads_list_t; +typedef model_vector< const ModelAction * > rel_heads_list_t; -typedef std::list< ModelAction *, SnapshotAlloc > action_list_t; +typedef snap_list< ModelAction * > action_list_t; /** * Model checker parameter structure. Holds run-time configuration options for @@ -231,9 +231,9 @@ private: * to a trace of all actions performed on the object. */ HashTable * const condvar_waiters_map; - HashTable *, uintptr_t, 4 > * const obj_thrd_map; - std::vector< Promise *, SnapshotAlloc > * const promises; - std::vector< struct PendingFutureValue, SnapshotAlloc > * const futurevalues; + HashTable *, uintptr_t, 4 > * const obj_thrd_map; + snap_vector< Promise * > * const promises; + snap_vector< struct PendingFutureValue > * const futurevalues; /** * List of pending release sequences. Release sequences might be @@ -241,10 +241,10 @@ private: * are established. Each entry in the list may only be partially * filled, depending on its pending status. */ - std::vector< struct release_seq *, SnapshotAlloc > * const pending_rel_seqs; + snap_vector< struct release_seq * > * const pending_rel_seqs; - std::vector< ModelAction *, SnapshotAlloc > * const thrd_last_action; - std::vector< ModelAction *, SnapshotAlloc > * const thrd_last_fence_release; + snap_vector< ModelAction * > * const thrd_last_action; + snap_vector< ModelAction * > * const thrd_last_fence_release; NodeStack * const node_stack; /** Private data members that should be snapshotted. They are grouped