aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkDynamicAnnotations.h
Commit message (Collapse)AuthorAge
* Split SkTRacy into SkTRacy and SkTRacyReffable.Gravatar mtklein2014-07-10
| | | | | | | | | | | | | | | | | Looks like TSAN can't always suppress our existing implementation of SkTRacy (what is turning here into SkTRacyReffable). To minimize flakiness, use SkTRacy where possible and SkTRacyReffable where necessary. BUG=skia: Committed: https://skia.googlesource.com/skia/+/497cda3a6b72b9cb390334e8756d38b4ffac044f NOTRY=true R=robertphillips@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/388503002
* Split SkTRacy into SkTRacy and SkTRacyReffable.Gravatar mtklein2014-07-10
| | | | | | | | | | | | | Looks like TSAN can't always suppress our existing implementation of SkTRacy (what is turning here into SkTRacyReffable). To minimize flakiness, use SkTRacy where possible and SkTRacyReffable where necessary. BUG=skia: R=robertphillips@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/388503002
* Add SkRacyGravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | | | | | SkRacy<T> is a zero-overhead wrapper for a T, except it also silences race warnings when TSAN is running. Here we apply in several classes. In SkMatrix and SkPathRef, we use it to opportunistically cache some idempotent work. In SkPixelRef, we wrap the genIDs. We think the worst that can happen here is we'll increment the global next-genID a few times instead of once when we go to get another ID. BUG=skia: Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7 CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot,Canary-Chrome-Win7-Ninja-x86-SharedLib_ToT-Trybot,Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/371363004
* Revert of Add SkRacy (https://codereview.chromium.org/371363004/)Gravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason for revert: hidden symbol 'AnnotateBenignRaceSized' in obj/base/third_party/dynamic_annotations/libdynamic_annotations.a(obj/base/third_party/dynamic_annotations/dynamic_annotations.dynamic_annotations.o) is referenced by DSO lib/libblink_platform.so Original issue's description: > Add SkRacy > > SkRacy<T> is a zero-overhead wrapper for a T, except it also > silences race warnings when TSAN is running. > > Here we apply in several classes. In SkMatrix and SkPathRef, > we use it to opportunistically cache some idempotent work. > > In SkPixelRef, we wrap the genIDs. We think the worst that > can happen here is we'll increment the global next-genID a > few times instead of once when we go to get another ID. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7 R=reed@google.com, mtklein@chromium.org TBR=mtklein@chromium.org, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/377693005
* Revert of Missing volatile in AnnotateBenignRaceSized declaration. ↵Gravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/380473002/) Reason for revert: sdf Original issue's description: > Missing volatile in AnnotateBenignRaceSized declaration. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/f7a180b R=mtklein@chromium.org TBR=mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/379623004
* Missing volatile in AnnotateBenignRaceSized declaration.Gravatar Mike Klein2014-07-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/380473002
* Add SkRacyGravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | SkRacy<T> is a zero-overhead wrapper for a T, except it also silences race warnings when TSAN is running. Here we apply in several classes. In SkMatrix and SkPathRef, we use it to opportunistically cache some idempotent work. In SkPixelRef, we wrap the genIDs. We think the worst that can happen here is we'll increment the global next-genID a few times instead of once when we go to get another ID. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/371363004
* teach TSAN about SkSpinlock, SkRefCnt, and SkOnceGravatar commit-bot@chromium.org2014-04-27
| | | | | | | | | | | | | | | | | | | BUG=skia: Committed: http://code.google.com/p/skia/source/detail?r=14353 NOTRY=true NOTREECHECKS=true Committed: http://code.google.com/p/skia/source/detail?r=14354 R=bsalomon@google.com, bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/247813005 git-svn-id: http://skia.googlecode.com/svn/trunk@14390 2bbb7eff-a529-9590-31e7-b0007b416f81
* teach TSAN about SkSpinlock, SkRefCnt, and SkOnceGravatar commit-bot@chromium.org2014-04-24
| | | | | | | | | | | BUG=skia: R=bsalomon@google.com, bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/247813005 git-svn-id: http://skia.googlecode.com/svn/trunk@14353 2bbb7eff-a529-9590-31e7-b0007b416f81
* TSAN: use somewhat pithier SK_ANNOTATE_UNPROTECTED_READ.Gravatar commit-bot@chromium.org2014-02-04
This is a little bit better practice to be i than the existing SK_ANNOTATE_BENIGN_RACE, as UNPROTECTED_READ will only ignore reads, not writes. Tag SkRefCnt::unique() as a safe unprotected read like SkOnce's double-checked locking. BUG=skia: R=reed@google.com, bungeman@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/144953005 git-svn-id: http://skia.googlecode.com/svn/trunk@13309 2bbb7eff-a529-9590-31e7-b0007b416f81