X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker.git;a=blobdiff_plain;f=cmodelint.cc;h=6b20c2cc9c800378de4b2255fc94e7a7646516d7;hp=8919041be4589670d228ad3e3e7b00b7132a5f2b;hb=495dd308fe91920ea85719d8380d9cf28ee85274;hpb=20926923f6de1790fdd368d5e7fa1738abe7b9a6 diff --git a/cmodelint.cc b/cmodelint.cc index 8919041..6b20c2c 100644 --- a/cmodelint.cc +++ b/cmodelint.cc @@ -1,5 +1,6 @@ #include "model.h" #include "cmodelint.h" +#include "threads.h" /** Performs a read action.*/ uint64_t model_read_action(void * obj, memory_order ord) { @@ -36,3 +37,8 @@ void model_rmw_action(void *obj, memory_order ord, uint64_t val) { void model_rmwc_action(void *obj, memory_order ord) { model->switch_to_master(new ModelAction(ATOMIC_RMWC, ord, obj)); } + +/** Issues a fence operation. */ +void model_fence_action(memory_order ord) { + model->switch_to_master(new ModelAction(ATOMIC_FENCE, ord, NULL)); +}