- Promise(ModelAction *act, uint64_t value, modelclock_t expiration) :
- value(value), expiration(expiration), read(act), numthreads(1)
- { }
- modelclock_t get_expiration() const {return expiration;}
+ 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());
+ }
+ modelclock_t get_expiration() const { return expiration; }