DescriptionPort SkLazyPtr to new SkAtomics.h
No algorithmic changes. The new APIs let us avoid a few ugly trips through void*,
and I've made the consume/acquire/release decision explicitly conditioned on TSAN.
This should fix the attached bug, which is TSAN seeing us implementing the
sk_consume_load() with a relaxed load, where we used to pass __ATOMIC_CONSUME
to TSAN. This restores us to the status quo of a couple weeks ago, where we
use relaxed loads (to avoid an extra dmb on ARM) for all setups except TSAN,
who gets the logically correct memory order, consume.
No public API changes.
TBR=reed@google.com
BUG=chromium:455606
Committed: https://skia.googlesource.com/skia/+/e72a80db3a05c78e65caf4c7cd24b73ebae74868
Patch Set 1 #Patch Set 2 : unused #Patch Set 3 : includes #
Messages
Total messages: 10 (5 generated)
|