projects
/
model-checker.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mymemory: implement snapshot_*() allocations on model-checker's heap
[model-checker.git]
/
model.h
diff --git
a/model.h
b/model.h
index d5dc42266769004d542d72f472f6e1029c1a7e5c..7bc3585d8562eeff369cf307b81751781e381f6b 100644
(file)
--- a/
model.h
+++ b/
model.h
@@
-124,7
+124,8
@@
private:
int num_executions;
int num_feasible_executions;
bool promises_expired();
int num_executions;
int num_feasible_executions;
bool promises_expired();
-
+ void execute_sleep_set();
+ void wake_up_sleeping_actions(ModelAction * curr);
modelclock_t get_next_seq_num();
/**
modelclock_t get_next_seq_num();
/**
@@
-140,6
+141,7
@@
private:
bool process_write(ModelAction *curr);
bool process_mutex(ModelAction *curr);
bool process_thread_action(ModelAction *curr);
bool process_write(ModelAction *curr);
bool process_mutex(ModelAction *curr);
bool process_thread_action(ModelAction *curr);
+ void process_relseq_fixup(ModelAction *curr, work_queue_t *work_queue);
bool check_action_enabled(ModelAction *curr);
bool take_step();
bool check_action_enabled(ModelAction *curr);
bool take_step();
@@
-152,6
+154,7
@@
private:
void reset_to_initial_state();
bool resolve_promises(ModelAction *curr);
void compute_promises(ModelAction *curr);
void reset_to_initial_state();
bool resolve_promises(ModelAction *curr);
void compute_promises(ModelAction *curr);
+ void compute_relseq_breakwrites(ModelAction *curr);
void check_curr_backtracking(ModelAction * curr);
void add_action_to_lists(ModelAction *act);
void check_curr_backtracking(ModelAction * curr);
void add_action_to_lists(ModelAction *act);
@@
-201,6
+204,10
@@
private:
* together for efficiency and maintainability. */
struct model_snapshot_members *priv;
* together for efficiency and maintainability. */
struct model_snapshot_members *priv;
+ /** A special model-checker Thread; used for associating with
+ * model-checker-related ModelAcitons */
+ Thread *model_thread;
+
/**
* @brief The modification order graph
*
/**
* @brief The modification order graph
*