skia2/include
mtklein 172b45518a Clean up SkDynamicAnnotations.
Unprotected reads -> relaxed reads.
    Unprotected write -> relaxed write.

The only unprotected write we had was in SkTraceEvent, which it looks like we nabbed from Chrome at some point and changed only to silence TSAN.  Chrome's version uses AtomicWord / NoBarrier_Load / NoBarrier_Store, which boils down to the same as here, intptr_t / relaxed load / relaxed store.

This leaves one place where we're lying a bit to TSAN, in include/core/SkLazyPtr.h where we're doing a data-dependent consume load.  We're telling TSAN it's consume, but telling any other compiler to compile it as relaxed, given how they all upgrade consume to acquire.  This eliminates a barrier for us on ARM.  How do you guys deal with this?  Just use a consume memory order, take the hit, and hope compilers get smarter one day?

BUG=chromium:465721

No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/996763002
2015-03-12 05:27:46 -07:00
..
animator Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
c add stroke params to c api 2015-01-10 17:59:31 -08:00
codec Add SkCodec, including PNG implementation. 2015-03-03 08:59:20 -08:00
config SK_NO_FLATE 2015-02-17 13:10:43 -08:00
core Clean up SkDynamicAnnotations. 2015-03-12 05:27:46 -07:00
device/xps XPS, DM: add SkDocument::CreateXPS 2015-03-03 09:13:09 -08:00
effects Use ComposColorFilter to collaps hierarchy (when possible). 2015-03-08 04:42:52 -07:00
gpu fix for valgrind preAbandonGpuContext 2015-03-11 09:11:19 -07:00
images Make SkStream *not* ref counted. 2015-01-21 12:09:53 -08:00
pathops add pathops tight bounds; conform path ops' gyp to unit tests 2014-06-24 07:55:12 -07:00
pipe "NULL !=" = NULL 2014-09-05 13:34:00 -07:00
ports Remove SkFontHost includes and friends. 2015-02-23 08:25:00 -08:00
svg Add SkSVGCanvas 2015-02-06 12:51:10 -08:00
utils [Skia] Add SK_API to SkParse. 2015-03-02 07:51:17 -08:00
views First cut at cleaning up Sergio's example code and moving some common code to SkWindow. 2015-01-30 12:37:02 -08:00
xml [SVGDevice] Text whitespace unittest 2015-02-20 13:54:40 -08:00