promise: construct with a 'future_value' struct
authorBrian Norris <banorris@uci.edu>
Wed, 23 Jan 2013 19:04:59 +0000 (11:04 -0800)
committerBrian Norris <banorris@uci.edu>
Wed, 23 Jan 2013 19:04:59 +0000 (11:04 -0800)
Don't pass a bunch of parameters individually; just pass the struct.

model.cc
promise.h

index 97df9a2dbba274857e85e6be417489c776e82024..39c19685b119225df02e0666f61775b775351c6f 100644 (file)
--- a/model.cc
+++ b/model.cc
@@ -738,7 +738,7 @@ bool ModelChecker::process_read(ModelAction *curr, bool second_part_of_rmw)
                        struct future_value fv = curr->get_node()->get_future_value();
                        value = fv.value;
                        curr->set_read_from(NULL);
-                       Promise *valuepromise = new Promise(curr, value, fv.expiration);
+                       Promise *valuepromise = new Promise(curr, fv);
                        promises->push_back(valuepromise);
                }
                get_thread(curr)->set_return_value(value);
index 413d360896e282abb66a21d98c3cec689c428dd9..ce5bea168f60cfacc4ee01efaad343a1db2c9039 100644 (file)
--- a/promise.h
+++ b/promise.h
@@ -20,8 +20,11 @@ struct future_value {
 
 class Promise {
  public:
- Promise(ModelAction *act, uint64_t value, modelclock_t expiration) :
-       value(value), expiration(expiration), read(act), write(NULL)
+       Promise(ModelAction *act, struct future_value fv) :
+               value(fv.value),
+               expiration(fv.expiration),
+               read(act),
+               write(NULL)
        {
                increment_threads(act->get_tid());
        }