/** @brief Shorthand for a list of release sequence heads */
typedef ModelVector<const ModelAction *> rel_heads_list_t;
-
typedef SnapList<ModelAction *> action_list_t;
/**
int maxreads;
int maxfuturedelay;
bool yieldon;
+ bool sc_trace_analysis;
unsigned int fairwindow;
unsigned int enabledcount;
unsigned int bound;
const model_params params;
Node * get_curr_node() const;
+ void add_trace_analysis(Trace_Analysis * a) {
+ trace_analyses->push_back(a);
+ }
+
+ action_list_t * get_actions_on_obj(void * obj, thread_id_t tid);
+ ModelAction * get_last_action(thread_id_t tid) const;
MEMALLOC
private:
void check_curr_backtracking(ModelAction *curr);
void add_action_to_lists(ModelAction *act);
- ModelAction * get_last_action(thread_id_t tid) const;
ModelAction * get_last_fence_release(thread_id_t tid) const;
ModelAction * get_last_seq_cst_write(ModelAction *curr) const;
ModelAction * get_last_seq_cst_fence(thread_id_t tid, const ModelAction *before_fence) const;
bool is_feasible_prefix_ignore_relseq() const;
bool is_infeasible() const;
bool is_deadlocked() const;
+ bool too_many_steps() const;
bool is_complete_execution() const;
bool have_bug_reports() const;
void print_bugs() const;