/** @brief Shorthand for a list of release sequence heads */
typedef ModelVector<const ModelAction *> rel_heads_list_t;
-
typedef SnapList<ModelAction *> action_list_t;
/**
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:
/** The scheduler to use: tracks the running/ready Threads */
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;