model: add release sequence support
authorBrian Norris <banorris@uci.edu>
Wed, 15 Aug 2012 00:21:29 +0000 (17:21 -0700)
committerBrian Norris <banorris@uci.edu>
Fri, 24 Aug 2012 03:50:17 +0000 (20:50 -0700)
commit0e9020d6d5a4e0570d1001b07393d080de8bb318
tree2142ff8690904bd58da442239ad4e8b36a82f1d9
parent6761199295a062ec89e8f3de2f79503e7105e715
model: add release sequence support

The ModelChecker now can find the head(s) of the release sequence(s) with which
a particular ModelAction (read-acquire) will synchronize.

The ModelChecker::release_seq_head function can locate a release sequence head
for a given ModelAction, based on information at a given moment. That is, it
knows happens-before and modification information for the present, but some
decisions may need to be made in the future as reads-from promises are
fulfilled or modification ordering is observed by future reads and writes.

Lazy checking for the latter cases has yet to be implemented.
model.cc
model.h