#include <memory_model_sc.h>
r from every address we collect the choice symbols S via register_read_from_choice_symbol (for potential read-write pairs) and add a constraint r.guard => \/S. s for the pair (r, w) add constraint s => (w.guard /\ r.lhs=w.lhs) add constraint s => before(w,r) [if w is from another thread]. e1 and e2 are in the same atomic section then constrain with equality between their clocks otherwise constrain with e1 clock being less than e2 clock. Definition at line 17 of file memory_model_sc.h.
Definition at line 20 of file memory_model_sc.h.
Implements partial_order_concurrencyt.
Reimplemented in memory_model_tsot.
Definition at line 31 of file memory_model_sc.cpp.
Definition at line 47 of file memory_model_sc.cpp.
Definition at line 250 of file memory_model_sc.cpp.
Implements memory_model_baset.
Reimplemented in memory_model_psot, and memory_model_tsot.
Definition at line 16 of file memory_model_sc.cpp.
Definition at line 151 of file memory_model_sc.cpp.
Reimplemented in memory_model_psot, and memory_model_tsot.
Definition at line 37 of file memory_model_sc.cpp.
Definition at line 68 of file memory_model_sc.cpp.
Definition at line 198 of file memory_model_sc.cpp.