X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker.git;a=blobdiff_plain;f=cmodelint.cc;h=1632581101e0c5801f8ba14c05d3d12e1fa4c94c;hp=7e52d10798ffc8777ebe2d7d4915055300b32c4d;hb=a65e234b607444355eb6e34097ee55ba93d4c01b;hpb=e60d8c23d30a0dfe66b8426f7f2ecf576e812028 diff --git a/cmodelint.cc b/cmodelint.cc index 7e52d10..1632581 100644 --- a/cmodelint.cc +++ b/cmodelint.cc @@ -1,11 +1,11 @@ #include "model.h" +#include "action.h" #include "cmodelint.h" #include "threads-model.h" /** Performs a read action.*/ uint64_t model_read_action(void * obj, memory_order ord) { - model->switch_to_master(new ModelAction(ATOMIC_READ, ord, obj)); - return thread_current()->get_return_value(); + return model->switch_to_master(new ModelAction(ATOMIC_READ, ord, obj)); } /** Performs a write action.*/ @@ -24,8 +24,7 @@ void model_init_action(void * obj, uint64_t val) { * a write. */ uint64_t model_rmwr_action(void *obj, memory_order ord) { - model->switch_to_master(new ModelAction(ATOMIC_RMWR, ord, obj)); - return thread_current()->get_return_value(); + return model->switch_to_master(new ModelAction(ATOMIC_RMWR, ord, obj)); } /** Performs the write part of a RMW action. */ @@ -40,5 +39,5 @@ void model_rmwc_action(void *obj, memory_order ord) { /** Issues a fence operation. */ void model_fence_action(memory_order ord) { - model->switch_to_master(new ModelAction(ATOMIC_FENCE, ord, NULL)); + model->switch_to_master(new ModelAction(ATOMIC_FENCE, ord, FENCE_LOCATION)); }