From: Brian Norris Date: Wed, 20 Feb 2013 07:29:42 +0000 (-0800) Subject: promise: move constructor out of header X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=commitdiff_plain;h=1ef66fffe44c297326b1043cab978789b1071704;ds=sidebyside promise: move constructor out of header --- diff --git a/promise.cc b/promise.cc index e38696ea..8519feef 100644 --- a/promise.cc +++ b/promise.cc @@ -5,6 +5,22 @@ #include "model.h" #include "schedule.h" +/** + * @brief Promise constructor + * @param read The read which reads from a promised future value + * @param fv The future value that is promised + */ +Promise::Promise(ModelAction *read, struct future_value fv) : + num_available_threads(0), + value(fv.value), + expiration(fv.expiration), + read(read), + write(NULL) +{ + add_thread(fv.tid); + eliminate_thread(read->get_tid()); +} + /** * Eliminate a thread which no longer can satisfy this promise. Once all * enabled threads have been eliminated, this promise is unresolvable. diff --git a/promise.h b/promise.h index 852fe714..20aee036 100644 --- a/promise.h +++ b/promise.h @@ -21,16 +21,7 @@ struct future_value { class Promise { public: - Promise(ModelAction *read, struct future_value fv) : - num_available_threads(0), - value(fv.value), - expiration(fv.expiration), - read(read), - write(NULL) - { - add_thread(fv.tid); - eliminate_thread(read->get_tid()); - } + Promise(ModelAction *read, struct future_value fv); modelclock_t get_expiration() const { return expiration; } ModelAction * get_action() const { return read; } bool eliminate_thread(thread_id_t tid);