skia2/gyp
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
..
android_deps.gyp Reland "Gyp file changes for the android framework." 2014-02-05 16:35:12 +00:00
android_framework_lib.gyp Updates to gyp files for building Android.mk 2014-02-28 16:07:39 +00:00
android_output.gyp Change how SkDebugf is sent to stdout on Android. 2014-12-10 10:23:06 -08:00
android_system.gyp Update DEPS and GYP to use the copy of Android in platform_tools. 2013-05-02 12:27:21 +00:00
angle.gyp Try to roll angle again. 2014-06-17 17:28:17 -04:00
animator.gyp rename SkDrawable to SkADrawable 2014-11-26 08:50:45 -08:00
apptype_console.gypi Change how SkDebugf is sent to stdout on Android. 2014-12-10 10:23:06 -08:00
bench.gyp Adding new benchmark to test image decoding performance. 2015-02-13 09:05:42 -08:00
bench.gypi Sketch SkPMFloat 2015-02-23 10:04:34 -08:00
canvas_state_lib.gyp Run CanvasState test across a library boundary. 2014-07-22 12:38:55 -07:00
chromeos_deps.gyp GYP Changes and Scripts for Compiling Skia for ChromeOS 2013-06-11 15:52:19 +00:00
codec.gyp Add SkCodec, including PNG implementation. 2015-03-03 08:59:20 -08:00
common_conditions.gypi Clean up SkDynamicAnnotations. 2015-03-12 05:27:46 -07:00
common_variables.gypi Clean up poppler code. 2015-03-11 11:55:14 -07:00
common.gypi flip stroke to chrome compatible define 2015-02-24 06:02:06 -08:00
core.gyp Cleanup the XML directory in public includes. 2014-11-14 05:52:50 -08:00
core.gypi delete dead code 2015-03-11 12:17:00 -07:00
debugger.gyp debugger: Make draw command image widget resize 2014-12-30 23:03:56 -08:00
dm.gyp Clean up poppler code. 2015-03-11 11:55:14 -07:00
dm.gypi XPS, DM: add SkDocument::CreateXPS 2015-03-03 09:13:09 -08:00
effects.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
effects.gypi Remove SkPorterDuff now that Android has been updated. 2015-03-05 12:42:29 -08:00
etc1.gyp Simple PKM image decoder. 2014-05-22 18:40:29 +00:00
everything.gyp Cleanup: Delete webtry.gyp 2014-11-20 18:20:06 -08:00
example.gyp move HelloWorld to be a peer of SampleApp 2015-02-02 12:55:14 -08:00
experimental.gyp remove remaining parts of SkExample 2015-02-03 11:16:05 -08:00
FileReaderApp.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
flags.gyp tool --help alphabetizes command line flags 2015-01-18 10:39:25 -08:00
freetype.gyp Clean up poppler code. 2015-03-11 11:55:14 -07:00
freetype.gypi Sanitizing source files in Housekeeper-Nightly 2013-08-21 07:01:29 +00:00
giflib.gyp Sanitizing source files in Housekeeper-Nightly 2014-02-25 03:05:18 +00:00
gmslides.gypi We had zero coverage for SkDrawFilter. This new GM draws two rectangles. 2015-03-06 06:15:20 -08:00
gpu.gyp Allow user to pass in a path for extra dependencies for gpu 2015-03-09 09:40:42 -07:00
gpu.gypi Split GrTargetCommands into its own files 2015-03-03 12:40:50 -08:00
gputest.gyp Cleanup GrContextFactory and make it's subclasses private 2014-11-13 11:12:41 -08:00
images.gyp add ImageGenerator::NewFromData to porting layer 2015-01-07 18:04:45 -08:00
iOSShell.gyp Adding new benchmark to test image decoding performance. 2015-02-13 09:05:42 -08:00
jsoncpp.gyp Roll jsoncpp, drop dependency on Chromium overrides. 2014-08-19 07:21:00 -07:00
ktx.gyp Pass compressed blitters to our mask drawing algorithm 2014-08-07 08:15:14 -07:00
libjpeg.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
libpng.gyp Add SkCodec, including PNG implementation. 2015-03-03 08:59:20 -08:00
libwebp.gyp Build in C++11 mode on Macs. 2015-02-03 13:24:36 -08:00
lua.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
most.gyp move HelloWorld to be a peer of SampleApp 2015-02-02 12:55:14 -08:00
nacl.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
nanomsg.gyp Silence warnings from libnanomsg on Mac like we do on Linux. 2014-12-15 12:24:47 -08:00
opts.gyp Don't use m32 cflag for x86_64. 2015-02-12 10:48:25 -08:00
opts.gypi Remove SSE2 ColorRect32 code/files 2015-02-25 07:37:14 -08:00
pathops_skpclip.gyp Turn SkTaskGroups back on. 2014-11-03 17:41:08 -08:00
pathops_unittest.gyp Turn SkTaskGroups back on. 2014-11-03 17:41:08 -08:00
pathops_unittest.gypi These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions. 2014-11-13 06:58:52 -08:00
pathops.gypi path ops work in progress 2013-09-16 15:55:01 +00:00
pdf.gyp move SkPDFD*.h from include to src 2015-02-19 07:26:13 -08:00
pdf.gypi miniz support in SkFlate / PDF 2015-02-26 13:25:05 -08:00
pdfviewer_lib.gyp move some headers out of public 2014-06-17 09:04:45 -07:00
pdfviewer.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
ports.gyp Move sync code to include/, switch from using platform define to a proxy header in core/ 2015-01-21 13:13:31 -08:00
SampleApp.gyp fuzzer fixes 2015-02-25 09:04:04 -08:00
sfnt.gyp Better rendering detection with DirectWrite. 2014-06-23 08:29:23 -07:00
SimpleCocoaApp.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
SimpleiOSApp.gyp get iOS building again 2014-04-05 01:13:43 +00:00
skflate.gyp On windows, build zlib as a static library. 2015-03-02 06:24:15 -08:00
skia_for_android_framework_defines.gypi Remove SkPorterDuff now that Android has been updated. 2015-03-05 12:42:29 -08:00
skia_for_chromium_defines.gypi Remove SK_SUPPORT_LEGACY_GET_PIXELS_ENUM. 2015-02-23 07:07:25 -08:00
skia_launcher.gyp Move BenchTimer to tools as Timer 2014-06-20 11:29:21 -07:00
skia_lib.gyp Add SkCodec, including PNG implementation. 2015-03-03 08:59:20 -08:00
svg.gyp [SkSVGDevice] Full font family support 2015-02-13 08:55:24 -08:00
tests.gypi Fix a memory leak when decoding corrupted indexed PNGs. 2015-03-11 11:12:54 -07:00
tools.gyp move SkPDFD*.h from include to src 2015-02-19 07:26:13 -08:00
utils.gyp Cleanup the XML directory in public includes. 2014-11-14 05:52:50 -08:00
utils.gypi Remove SkProxyCanvas. 2015-01-29 11:58:51 -08:00
v8.gyp SkV8Sample: Now with Path2D and Path2DBuilder. 2014-10-29 05:33:28 -07:00
views_animated.gyp Remove dependency of views on angle 2014-04-29 00:38:39 +00:00
views.gyp Use D3D11 backend for ANGLE when available. 2015-02-23 08:57:23 -08:00
xml.gyp Cleanup the XML directory in public includes. 2014-11-14 05:52:50 -08:00
xps.gyp XPS, DM: add SkDocument::CreateXPS 2015-03-03 09:13:09 -08:00
zlib.gyp Revert of For consistency, use our homebrew zlib everywhere possible. (patchset #6 id:100001 of https://codereview.chromium.org/971673005/) 2015-03-07 07:47:51 -08:00