From 2b3b99cf4f2ee891bf416707fc8af8ba63337efc Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Wed, 14 Nov 2012 15:27:40 -0800 Subject: [PATCH] model: move snapshot members out of header This struct is only used within model.cc --- model.cc | 21 +++++++++++++++++++++ model.h | 20 ++------------------ 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/model.cc b/model.cc index 94620ea..bfdae30 100644 --- a/model.cc +++ b/model.cc @@ -18,6 +18,17 @@ ModelChecker *model; +/** + * Structure for holding small ModelChecker members that should be snapshotted + */ +struct model_snapshot_members { + ModelAction *current_action; + unsigned int next_thread_id; + modelclock_t used_sequence_numbers; + Thread *nextThread; + ModelAction *next_backtrack; +}; + /** @brief Constructor */ ModelChecker::ModelChecker(struct model_params params) : /* Initialize default scheduler */ @@ -863,6 +874,16 @@ bool ModelChecker::check_action_enabled(ModelAction *curr) { return true; } +/** + * Stores the ModelAction for the current thread action. Call this + * immediately before switching from user- to system-context to pass + * data between them. + * @param act The ModelAction created by the user-thread action + */ +void ModelChecker::set_current_action(ModelAction *act) { + priv->current_action = act; +} + /** * This is the heart of the model checker routine. It performs model-checking * actions corresponding to a given "current action." Among other processes, it diff --git a/model.h b/model.h index 6d702b0..7065960 100644 --- a/model.h +++ b/model.h @@ -23,6 +23,7 @@ class CycleGraph; class Promise; class Scheduler; class Thread; +struct model_snapshot_members; /** @brief Shorthand for a list of release sequence heads */ typedef std::vector< const ModelAction *, ModelAlloc > rel_heads_list_t; @@ -53,17 +54,6 @@ struct PendingFutureValue { ModelAction * act; }; -/** - * Structure for holding small ModelChecker members that should be snapshotted - */ -struct model_snapshot_members { - ModelAction *current_action; - unsigned int next_thread_id; - modelclock_t used_sequence_numbers; - Thread *nextThread; - ModelAction *next_backtrack; -}; - /** @brief Records information regarding a single pending release sequence */ struct release_seq { /** @brief The acquire operation */ @@ -142,13 +132,7 @@ private: void wake_up_sleeping_actions(ModelAction * curr); modelclock_t get_next_seq_num(); - /** - * Stores the ModelAction for the current thread action. Call this - * immediately before switching from user- to system-context to pass - * data between them. - * @param act The ModelAction created by the user-thread action - */ - void set_current_action(ModelAction *act) { priv->current_action = act; } + void set_current_action(ModelAction *act); Thread * check_current_action(ModelAction *curr); bool initialize_curr_action(ModelAction **curr); bool process_read(ModelAction *curr, bool second_part_of_rmw); -- 2.34.1