annotate src/atomicImpl.cbc @ 1:73127e0ab57c

(none)
author soto@cr.ie.u-ryukyu.ac.jp
date Tue, 08 Sep 2020 18:38:08 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
soto@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
1 __code checkAndSetAtomicReference(struct AtomicReference* atomic, union Data** ptr, union Data* oldData, union Data* newData, __code next(...), __code fail(...)) {
soto@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
2 if (__sync_bool_compare_and_swap(ptr, oldData, newData)) {
soto@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
3 goto next(...);
soto@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
4 }
soto@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
5 goto fail(...);
soto@cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
6 }