Let's use C++11.
Created attachment 248560 [details] the patch.
Comment on attachment 248560 [details] the patch. This is broken - the compare_and_exchange will set expected to 1 if it fails.
Comment on attachment 248560 [details] the patch. Never mind, I misread the code. I really don't like the API that has expected be a reference. This is just massively broken for most of our uses of CAS (and indeed for most sensible uses of CAS in general...). Can we have a wrapper for std::atomic that has a more sensible API, where expected is not a reference?
Comment on attachment 248560 [details] the patch. Clearing flags on attachment: 248560 Committed r181469: <http://trac.webkit.org/changeset/181469>
All reviewed patches have been landed. Closing bug.