3849b64cbbdb7db6d5d4af44479b2d7c5bf5e6c7 |
|
23-Mar-2017 |
Derek Sollenberger <djsollen@google.com> |
Only perform SkSafeRef race detection if on android framework Change-Id: If524a02e916d711057d6f2102efb0404b1c0b988 Reviewed-on: https://skia-review.googlesource.com/10036 Commit-Queue: Ravi Mistry <rmistry@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/include/core/SkRefCnt.h
|
6dd88144d5ae947090499793d68322f661b6192a |
|
22-Mar-2017 |
Derek Sollenberger <djsollen@google.com> |
Make reference counted assignment check for races. If SkRefCnt_SafeAssign is erroneously invoked simultaneously by two threads on the same destination, a likely outcome is that the reference count of an object other than the replaced dst will be decremented. This results in an extra reference count decrement, which usually means that the final reference count decrement will be applied to a random location in an object that has already been reallocated. This is exceedingly hard to debug. We add a hack to detect such data races with sufficiently high probability, so that such a data race bug should sometimes actually generate bug reports that lend themselves to diagnosis. We detect changes within a relatively larger range that normally includes several (typically slow) memory fences. Not all such changes would provoke a crash. Even if we decrement the wrong reference count, there's a chance we would decrement a dead location. Thus, to avoid potentially adding instability, we currently only log. This change tries to minimize additional runtime overhead. The macro is only expanded a few dozen times, so we do not worry too much about code size. Bug: b/31227650 Change-Id: Ia40c9ed2c4d0fa578ea682fbec4b71a2ef22a5d1 Reviewed-on: https://skia-review.googlesource.com/9994 Commit-Queue: Derek Sollenberger <djsollen@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/include/core/SkRefCnt.h
|
a69f4cf0a7093aa8474b8177627e3976d4f1d9de |
|
20-Dec-2016 |
Brian Osman <brianosman@google.com> |
Remove sk_ref_sp's misleading preprocessor define and comment This function will always be useful. Don't make it look/feel like a temporary hack. BUG=skia: Change-Id: I6506d7d51dc3b25a7dbcea4ac273f51cf05f3a89 Reviewed-on: https://skia-review.googlesource.com/6330 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
/external/skia/include/core/SkRefCnt.h
|
9075634d60cc8ce979e3007d4ba1d0e57afc6644 |
|
08-Nov-2016 |
Hal Canary <halcanary@google.com> |
Remove SkAutoTUnref from public API GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4530 Change-Id: I1ba33edc5ca44332ff4f296e6b9997a133a08a87 Reviewed-on: https://skia-review.googlesource.com/4530 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Mike Reed <reed@google.com>
/external/skia/include/core/SkRefCnt.h
|
68057332d03017de933d9784213d8ece4adfb679 |
|
03-Nov-2016 |
Ben Wagner <bungeman@google.com> |
Remove SkAutoUnref. It is no longer used. Change-Id: Ie2f9a39a4295005cb39bdf2f8fc15542ee75d207 Reviewed-on: https://skia-review.googlesource.com/4386 Commit-Queue: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/include/core/SkRefCnt.h
|
81f4b0d1e0f5d1244dc5018f59542070bd309b97 |
|
12-Oct-2016 |
Ben Wagner <bungeman@google.com> |
Remove hack allowing fRefCnt of 0. In some legacy situations users of SkRefCnt subclasses were keeping the objects alive with a reference count of 0. Now that these users are cleaned up, remove the hack which allowed such code to keep functioning. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3264 Change-Id: I22f63d87b6d995cad6326998284930ad9eaa2983 Reviewed-on: https://skia-review.googlesource.com/3264 Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/include/core/SkRefCnt.h
|
9c5052f16b249d2b7674ea86bd24ed0038ccc61f |
|
06-Aug-2016 |
mtklein <mtklein@chromium.org> |
SkLite* SkLiteRecorder, a new SkCanvas, fills out SkLiteDL, a new SkDrawable. This SkDrawable is a display list similar to SkRecord and SkBigPicture / SkRecordedDrawable, but with a few new design points inspired by Android and slimming paint: 1) SkLiteDL is structured as one big contiguous array rather than the two layer structure of SkRecord. This trades away flexibility and large-op-count performance for better data locality for small to medium size pictures. 2) We keep a global freelist of SkLiteDLs, both reusing the SkLiteDL struct itself and its contiguous byte array. This keeps the expected number of mallocs per display list allocation <1 (really, ~0) for cyclical use cases. These two together mean recording is faster. Measuring against the code we use at head, SkLiteRecorder trends about ~3x faster across various size pictures, matching speed at 0 draws and beating the special-case 1-draw pictures we have today. (I.e. we won't need those special case implementations anymore, because they're slower than this new generic code.) This new strategy records 10 drawRects() in about the same time the old strategy took for 2. This strategy stays the winner until at least 500 drawRect()s on my laptop, where I stopped checking. A simpler alternative to freelisting is also possible (but not implemented here), where we allow the client to manually reset() an SkLiteDL for reuse when its refcnt is 1. That's essentially what we're doing with the freelist, except tracking what's available for reuse globally instead of making the client do it. This code is not fully capable yet, but most of the key design points are there. The internal structure of SkLiteDL is the area I expect to be most volatile (anything involving Op), but its interface and the whole of SkLiteRecorder ought to be just about done. You can run nanobench --match picture_overhead as a demo. Everything it exercises is fully fleshed out, so what it tests is an apples-to-apples comparison as far as recording costs go. I have not yet compared playback performance. It should be simple to wrap this into an SkPicture subclass if we want. I won't start proposing we replace anything old with anything new quite yet until I have more ducks in a row, but this does look pretty promising (similar to the SkRecord over old SkPicture change a couple years ago) and I'd like to land, experiment, iterate, especially with an eye toward Android. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2213333002 Review-Url: https://codereview.chromium.org/2213333002
/external/skia/include/core/SkRefCnt.h
|
06ca8ec87cf6fab57cadd043a5ac18c4154a4129 |
|
09-Jun-2016 |
bungeman <bungeman@google.com> |
sk_sp for Ganesh. Convert use of GrFragmentProcessor, GrGeometryProcessor, and GrXPFactory to sk_sp. This clarifies ownership and should reduce reference count churn by moving ownership. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041113004 Review-Url: https://codereview.chromium.org/2041113004
/external/skia/include/core/SkRefCnt.h
|
801b44c45348144a483793e7b24f4d4092a4f74d |
|
28-Apr-2016 |
bungeman <bungeman@google.com> |
Remove skstd::is_convertible. We should now be able to use std::is_convertible. TBR=reed@google.com This doesn't change any API, just where we get a type trait from. Review-Url: https://codereview.chromium.org/1931003002
/external/skia/include/core/SkRefCnt.h
|
f9634b95eccd58acf5b20d98c5d2ee5af353d3d2 |
|
14-Apr-2016 |
benjaminwagner <benjaminwagner@google.com> |
For GOOGLE3, add deref method to SkRefCnt. This makes it easier to integrate with Blink code using RefPtr/PassRefPtr without pulling in Chrome's SkUserConfig.h. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1890573003 Review URL: https://codereview.chromium.org/1890573003
/external/skia/include/core/SkRefCnt.h
|
2c4bd0798e929acb9663668985eabe74d7378c46 |
|
08-Apr-2016 |
bungeman <bungeman@google.com> |
Convert SkRefCnt to std::atomic. This enables removing the more complicated atomic shims from SkAtomics.h. TBR=reed This doesn't actually change any API. CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot,Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-TSAN-Trybot Review URL: https://codereview.chromium.org/1867863002
/external/skia/include/core/SkRefCnt.h
|
04cdc4b61879849df63e883e68eecafe6510f423 |
|
21-Mar-2016 |
mtklein <mtklein@chromium.org> |
Remove transitional explicit operator bool. These should no longer be necessary. Android's STL should now be sane. TBR=reed This just removes code. Review URL: https://codereview.chromium.org/1817153002
/external/skia/include/core/SkRefCnt.h
|
bbd60689bb080fd147565dbc171f19a6ef177997 |
|
17-Mar-2016 |
mtklein <mtklein@chromium.org> |
Add back SkAutoTUnref::detach() for Android temporarily. TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812843002 Review URL: https://codereview.chromium.org/1812843002
/external/skia/include/core/SkRefCnt.h
|
18300a3aa7cb6eb55d21bb0450dffa58b6fc062c |
|
16-Mar-2016 |
mtklein <mtklein@chromium.org> |
detach -> release The C++ standard library uses the name "release" for the operation we call "detach". Rewriting each "detach(" to "release(" brings us a step closer to using standard library types directly (e.g. std::unique_ptr instead of SkAutoTDelete). This was a fairly blind transformation. There may have been unintentional conversions in here, but it's probably for the best to have everything uniformly say "release". BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1809733002 Review URL: https://codereview.chromium.org/1809733002
/external/skia/include/core/SkRefCnt.h
|
5f939ab658a228dce34a3b14a545638407150b92 |
|
16-Mar-2016 |
mtklein <mtklein@chromium.org> |
Use std::unique_ptr. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940 Committed: https://skia.googlesource.com/skia/+/3dd9ed37c24611af86f0fe374bd3698b63f09450 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1780933003 Committed: https://skia.googlesource.com/skia/+/2691d76a06e1af6282f8b3a3140cc93361be10c4 Review URL: https://codereview.chromium.org/1780933003
/external/skia/include/core/SkRefCnt.h
|
e7ec417268d4be2d7921b23c131859b322badf78 |
|
16-Mar-2016 |
mtklein <mtklein@google.com> |
Revert of Use std::unique_ptr. (patchset #10 id:170001 of https://codereview.chromium.org/1780933003/ ) Reason for revert: aww jeez, I dropped ps 8... Original issue's description: > Use std::unique_ptr. > > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940 > > Committed: https://skia.googlesource.com/skia/+/3dd9ed37c24611af86f0fe374bd3698b63f09450 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1780933003 > > Committed: https://skia.googlesource.com/skia/+/2691d76a06e1af6282f8b3a3140cc93361be10c4 TBR=bungeman@google.com,mtklein@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1809693002
/external/skia/include/core/SkRefCnt.h
|
2691d76a06e1af6282f8b3a3140cc93361be10c4 |
|
16-Mar-2016 |
mtklein <mtklein@chromium.org> |
Use std::unique_ptr. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940 Committed: https://skia.googlesource.com/skia/+/3dd9ed37c24611af86f0fe374bd3698b63f09450 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1780933003 Review URL: https://codereview.chromium.org/1780933003
/external/skia/include/core/SkRefCnt.h
|
218c846ac0509f70d6da3eb3a439fa89b589f7b5 |
|
11-Mar-2016 |
mtklein <mtklein@google.com> |
Revert of Use std::unique_ptr. (patchset #8 id:130001 of https://codereview.chromium.org/1780933003/ ) Reason for revert: Another Android ambiguity due to implicit bool... frameworks/base/core/jni/android/graphics/Utils.cpp:110:35: error: call of overloaded 'SkMemoryStream(SkAutoTUnref<SkData>&)' is ambiguous return new SkMemoryStream(data); Original issue's description: > Use std::unique_ptr. > > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940 > > Committed: https://skia.googlesource.com/skia/+/3dd9ed37c24611af86f0fe374bd3698b63f09450 TBR=bungeman@google.com,mtklein@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1785353002
/external/skia/include/core/SkRefCnt.h
|
3dd9ed37c24611af86f0fe374bd3698b63f09450 |
|
11-Mar-2016 |
mtklein <mtklein@chromium.org> |
Use std::unique_ptr. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940 Review URL: https://codereview.chromium.org/1780933003
/external/skia/include/core/SkRefCnt.h
|
977c07dad26fbb56f6d4b5fc1ac1a324d28bd693 |
|
10-Mar-2016 |
mtklein <mtklein@google.com> |
Revert of Use std::unique_ptr. (patchset #7 id:120001 of https://codereview.chromium.org/1780933003/ ) Reason for revert: Now we remember! The problem was Clank: https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/34329 Original issue's description: > Use std::unique_ptr. > > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/20c1e3abfc681771f73eb19fde7284196e028940 TBR=bungeman@google.com,mtklein@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1782973002
/external/skia/include/core/SkRefCnt.h
|
20c1e3abfc681771f73eb19fde7284196e028940 |
|
10-Mar-2016 |
mtklein <mtklein@chromium.org> |
Use std::unique_ptr. TBR=reed@google.com Review URL: https://codereview.chromium.org/1780933003
/external/skia/include/core/SkRefCnt.h
|
647cc8474828202c98d540f799742e3074a2aace |
|
08-Mar-2016 |
reed <reed@google.com> |
Add sk_ref_sp helper function. Review URL: https://codereview.chromium.org/1773943004
/external/skia/include/core/SkRefCnt.h
|
c901c11549acd19e7fc225276f78374ac1600496 |
|
08-Mar-2016 |
bungeman <bungeman@google.com> |
Add element_type, swap, operators, fix reset on sk_sp. The 'element_type' typedef is to play nice with std::pointer_traits. The full complement of operators and swap to match unique_ptr so that sk_sp can be properly compared to nullptr and used with standard containers. Update to 'reset' so that calling 'unref' is the last operation. This also adds tests for these changes, and sets the fPtr to nullptr in debug for easier bug finding. Review URL: https://codereview.chromium.org/1773453002
/external/skia/include/core/SkRefCnt.h
|
941da9d66171bd8efd2f6c5e25ff90c8c69885c1 |
|
06-Mar-2016 |
reed <reed@google.com> |
Fix behavior of sk_sp::reset(T*) and add unittest. Previously, sk_sp::reset(T* t) did not release its own reference if its internal pointer was the same as 't'. This leaks a reference. Now always release the current reference when non-nullptr. Review URL: https://codereview.chromium.org/1767983002
/external/skia/include/core/SkRefCnt.h
|
ffa39e02bc34a33c23fcccd61b781b5d05a980d3 |
|
05-Mar-2016 |
halcanary <halcanary@google.com> |
sk_sp: fix contravariant constructors TBR=reed This is obviously correct and needs to be fixed. Review URL: https://codereview.chromium.org/1771583002
/external/skia/include/core/SkRefCnt.h
|
beab9e7ba06ea8bd01fcbfd44f2ca2ed69c8a1d9 |
|
03-Mar-2016 |
bungeman <bungeman@google.com> |
Add operator* and operator safe-bool to sk_sp. This greatly reduces the need to use '.get()' in conditionals. Review URL: https://codereview.chromium.org/1760453004
/external/skia/include/core/SkRefCnt.h
|
89bd99bed85083c736390f3e340fd30be350d461 |
|
02-Mar-2016 |
halcanary <halcanary@google.com> |
sk_sp: remove explicit operator bool() GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1757593005 Review URL: https://codereview.chromium.org/1757593005
/external/skia/include/core/SkRefCnt.h
|
cb6cb3841adec77d178c6d6ed006102077fd3c48 |
|
02-Mar-2016 |
halcanary <halcanary@google.com> |
sk_sp: Covariant Move Constructor and Move Assignment Also Covariant Copy Constructor, Copy Assignment, and comparison operators. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1752093002 Review URL: https://codereview.chromium.org/1752093002
/external/skia/include/core/SkRefCnt.h
|
217c0b3f137d824413e806759bc25378abbe8c18 |
|
02-Mar-2016 |
halcanary <halcanary@google.com> |
sk_make_sp<T>() because auto atm = sk_make_sp<SkAdvancedTypefaceMetrics>(); is better than sk_sp<SkAdvancedTypefaceMetrics> atm(new SkAdvancedTypefaceMetrics); GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1753973002 Review URL: https://codereview.chromium.org/1753973002
/external/skia/include/core/SkRefCnt.h
|
bb7b043b2db64197d2f6a1edaf3562a50c77afb1 |
|
01-Mar-2016 |
reed <reed@google.com> |
isolate sk_sp from larger cl BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1752683002 Review URL: https://codereview.chromium.org/1752683002
/external/skia/include/core/SkRefCnt.h
|
1138be45eac9dd21b094c9774a6f9c612f9f8fa8 |
|
25-Jan-2016 |
mtklein <mtklein@google.com> |
Revert of skstd -> std for unique_ptr (patchset #24 id:460001 of https://codereview.chromium.org/1436033003/ ) Reason for revert: Still need an answer for SkAdvancedTypefaceMetrics (at least for Google3 iOS build). Original issue's description: > skstd -> std for unique_ptr > > TBR=reed@google.com > No public API changes. > > BUG=skia:4564 > > Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50 > > CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot,Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot > > Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065 > > Committed: https://skia.googlesource.com/skia/+/70e8dfca4a7f5bce97b8021a6e378c4828b09c8c > > Committed: https://skia.googlesource.com/skia/+/dadfc245cc9a0279ff7b73da3344f2ca5d139907 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1436033003 > > Committed: https://skia.googlesource.com/skia/+/ccf1de0d9aa75f29829f1c4c462214b991fd8c9e TBR=bungeman@google.com,mtklein@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4564 Review URL: https://codereview.chromium.org/1626873004
/external/skia/include/core/SkRefCnt.h
|
ccf1de0d9aa75f29829f1c4c462214b991fd8c9e |
|
25-Jan-2016 |
mtklein <mtklein@chromium.org> |
skstd -> std for unique_ptr TBR=reed@google.com No public API changes. BUG=skia:4564 Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot,Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065 Committed: https://skia.googlesource.com/skia/+/70e8dfca4a7f5bce97b8021a6e378c4828b09c8c Committed: https://skia.googlesource.com/skia/+/dadfc245cc9a0279ff7b73da3344f2ca5d139907 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1436033003 Review URL: https://codereview.chromium.org/1436033003
/external/skia/include/core/SkRefCnt.h
|
97466ab03e025b6edd94c4f0f369cd0b0d8c3319 |
|
07-Dec-2015 |
mtklein <mtklein@chromium.org> |
fix funky formatting in SkNVRefCnt BUG=skia: TBR=reed@google.com No API change. Review URL: https://codereview.chromium.org/1505023002
/external/skia/include/core/SkRefCnt.h
|
5c05d10511610c35f7912d48ede509c7e32e0a3c |
|
02-Dec-2015 |
mtklein <mtklein@google.com> |
Revert of skstd -> std for unique_ptr (patchset #17 id:320001 of https://codereview.chromium.org/1436033003/ ) Reason for revert: Chromium bots can't handle forward declared types, e.g. struct Foo { int x,y; std::unique_ptr<Foo> next; }; https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/86497 Original issue's description: > skstd -> std for unique_ptr > > TBR=reed@google.com > No public API changes. > > BUG=skia:4564 > > Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50 > > CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot,Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot > > Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065 > > Committed: https://skia.googlesource.com/skia/+/70e8dfca4a7f5bce97b8021a6e378c4828b09c8c > > Committed: https://skia.googlesource.com/skia/+/dadfc245cc9a0279ff7b73da3344f2ca5d139907 TBR=bungeman@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4564 Review URL: https://codereview.chromium.org/1498583002
/external/skia/include/core/SkRefCnt.h
|
dadfc245cc9a0279ff7b73da3344f2ca5d139907 |
|
02-Dec-2015 |
mtklein <mtklein@chromium.org> |
skstd -> std for unique_ptr TBR=reed@google.com No public API changes. BUG=skia:4564 Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot,Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release-Trybot Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065 Committed: https://skia.googlesource.com/skia/+/70e8dfca4a7f5bce97b8021a6e378c4828b09c8c Review URL: https://codereview.chromium.org/1436033003
/external/skia/include/core/SkRefCnt.h
|
e066df9673063871c478f84dd26bc3d7352819d9 |
|
30-Nov-2015 |
mtklein <mtklein@google.com> |
Revert of skstd -> std for unique_ptr (patchset #16 id:300001 of https://codereview.chromium.org/1436033003/ ) Reason for revert: Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release Original issue's description: > skstd -> std for unique_ptr > > TBR=reed@google.com > No public API changes. > > BUG=skia:4564 > > Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50 > > CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot > > Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065 > > Committed: https://skia.googlesource.com/skia/+/70e8dfca4a7f5bce97b8021a6e378c4828b09c8c TBR=bungeman@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4564 Review URL: https://codereview.chromium.org/1482343002
/external/skia/include/core/SkRefCnt.h
|
70e8dfca4a7f5bce97b8021a6e378c4828b09c8c |
|
30-Nov-2015 |
mtklein <mtklein@chromium.org> |
skstd -> std for unique_ptr TBR=reed@google.com No public API changes. BUG=skia:4564 Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot;client.skia:Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release-Trybot Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065 Review URL: https://codereview.chromium.org/1436033003
/external/skia/include/core/SkRefCnt.h
|
dfd7d48ced44026aafca71ecb5f0138af8125b94 |
|
23-Nov-2015 |
mtklein <mtklein@google.com> |
Revert of skstd -> std for unique_ptr (patchset #16 id:300001 of https://codereview.chromium.org/1436033003/ ) Reason for revert: Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release has not updated yet. Original issue's description: > skstd -> std for unique_ptr > > TBR=reed@google.com > No public API changes. > > BUG=skia:4564 > > Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50 > > CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot > > Committed: https://skia.googlesource.com/skia/+/06189155d987db5c7e69015f6ea87c2168d6a065 TBR=bungeman@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4564 Review URL: https://codereview.chromium.org/1467333002
/external/skia/include/core/SkRefCnt.h
|
06189155d987db5c7e69015f6ea87c2168d6a065 |
|
23-Nov-2015 |
mtklein <mtklein@chromium.org> |
skstd -> std for unique_ptr TBR=reed@google.com No public API changes. BUG=skia:4564 Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot Review URL: https://codereview.chromium.org/1436033003
/external/skia/include/core/SkRefCnt.h
|
566b23c571dbec97925ad0c44e744126a62e5a1e |
|
16-Nov-2015 |
mtklein <mtklein@google.com> |
Revert of skstd -> std for unique_ptr (patchset #9 id:160001 of https://codereview.chromium.org/1436033003/ ) Reason for revert: 10.9 bots are too old too. Original issue's description: > skstd -> std for unique_ptr > > TBR=reed@google.com > No public API changes. > > BUG=skia:4564 > > Committed: https://skia.googlesource.com/skia/+/755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50 TBR=bungeman@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4564 Review URL: https://codereview.chromium.org/1446413002
/external/skia/include/core/SkRefCnt.h
|
755c553c17b82bb5de3d9cc8d3b2a866ff9e9e50 |
|
16-Nov-2015 |
mtklein <mtklein@chromium.org> |
skstd -> std for unique_ptr TBR=reed@google.com No public API changes. BUG=skia:4564 Review URL: https://codereview.chromium.org/1436033003
/external/skia/include/core/SkRefCnt.h
|
77a53de20d723ca21cc824fd97e68aaa60e022ea |
|
01-Oct-2015 |
bungeman <bungeman@google.com> |
Base SkAutoTUnref on skstd::unique_ptr. To further consolidate the various unique owning classes, this bases SkAutoTUnref on skstd::unique_ptr. Users are updated because of two breaking changes, swap now takes a reference and reset no longer returns its argument. Review URL: https://codereview.chromium.org/1370803002
/external/skia/include/core/SkRefCnt.h
|
e6e41a8a19976a822de36379db23184ff2f28601 |
|
28-Sep-2015 |
herb <herb@google.com> |
Move SkAtomics.h to private. There are no API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1369333004
/external/skia/include/core/SkRefCnt.h
|
385fe4d4b62d7d1dd76116dd570df3290a2f487b |
|
26-Aug-2015 |
halcanary <halcanary@google.com> |
Style Change: SkNEW->new; SkDELETE->delete DOCS_PREVIEW= https://skia.org/?cl=1316123003 Review URL: https://codereview.chromium.org/1316123003
/external/skia/include/core/SkRefCnt.h
|
ab5d5de420503018b385b73e91b24812916c2080 |
|
24-Aug-2015 |
djsollen <djsollen@google.com> |
Enable debug builds in the Android framework Review URL: https://codereview.chromium.org/1297093004
/external/skia/include/core/SkRefCnt.h
|
f3c15b7cfc4eed2528f7db87ea6c1444b55ee856 |
|
19-Aug-2015 |
bungeman <bungeman@google.com> |
Move SkTemplates.h to private. SkTemplates.h contains a number of Skia specific utilities which are not designed for external use. In addition to reducing the external support burden, this will allow Skia to freely refactor this file. Review URL: https://codereview.chromium.org/1272293004
/external/skia/include/core/SkRefCnt.h
|
2766c00fc0b6a07d46e5f74cdad45da2ef625237 |
|
26-Jun-2015 |
mtklein <mtklein@chromium.org> |
remove SkInstCnt It's been outclassed by Valgrind and leak sanitizer, and it seems to be causing problems for external folks building Skia. I'm not sure why our own builds seem unaffected. Latest thread: https://groups.google.com/forum/#!topic/skia-discuss/oj9FsQwwSF0 BUG=skia: Review URL: https://codereview.chromium.org/1217573002
/external/skia/include/core/SkRefCnt.h
|
76f5cc6e9e87ff247c3ef1f4b3fb03668db06e2e |
|
06-Apr-2015 |
mtklein <mtklein@chromium.org> |
Clean up BlockRef - It's no longer needed to help the (2011?) transition to SkAutoTUnref. - It prevents us from making classes that go in SkAutoTUnrefs final, i.e. all ref-counted classes. This had better not have been public API... TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1068443002
/external/skia/include/core/SkRefCnt.h
|
7b274c78fbeefa3818af68099545f2839c854847 |
|
03-Feb-2015 |
mtklein <mtklein@chromium.org> |
Port SkRefCnt.h to new SkAtomics.h This adds sk_memory_barrier(), implemented using sk_atomic_fetch_add() on an uninitialized variable. If that becomes a problem we can drop this to the porting layer, using std::atomic_thread_fence() / __atomic_thread_fence() / __sync_synchronize(). The big win is that ref() doesn't generate a memory barrier any more on ARM. This is an instance of SkSafeRef() in SkPaint(const SkPaint&) after this CL: 4d0: 684a ldr r2, [r1, #4] 4d2: 6018 str r0, [r3, #0] 4d4: b13a cbz r2, 4e6 <_ZN7SkPaintC1ERKS_+0x2e> 4d6: 1d10 adds r0, r2, #4 4d8: e850 4f00 ldrex r4, [r0] 4dc: 3401 adds r4, #1 4de: e840 4500 strex r5, r4, [r0] 4e2: 2d00 cmp r5, #0 4e4: d1f8 bne.n 4d8 <_ZN7SkPaintC1ERKS_+0x20> Here's the before, pretty much the same with two memory barriers surrounding the ref(): 4d8: 684a ldr r2, [r1, #4] 4da: 6018 str r0, [r3, #0] 4dc: b15a cbz r2, 4f6 <_ZN7SkPaintC1ERKS_+0x3e> 4de: 1d10 adds r0, r2, #4 4e0: f3bf 8f5f dmb sy 4e4: e850 4f00 ldrex r4, [r0] 4e8: 3401 adds r4, #1 4ea: e840 4500 strex r5, r4, [r0] 4ee: 2d00 cmp r5, #0 4f0: d1f8 bne.n 4e4 <_ZN7SkPaintC1ERKS_+0x2c> 4f2: f3bf 8f5f dmb sy The miscellaneous files in here are just fixups to explicitly include SkMutex.h, instead of leeching it off SkRefCnt.h. No public API changes. TBR=reed@google.com Build trybots seem hosed. NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/896803002
/external/skia/include/core/SkRefCnt.h
|
6f07665768dc84453316e7b2bbd6049576764cb1 |
|
13-Jan-2015 |
mtklein <mtklein@chromium.org> |
Simplify SkInstCnt This code requires fewer macros to use it (just one), has less code in macro definitions, and has simpler synchronization code (just atomic ints, no SkOnce, no SkMutex, etc.) A minor downside, we lose indentation and reverse-ordering in the final report: Leaked SkRefCntBase: 7 Leaked SkFontMgr: 1 Leaked SkWeakRefCnt: 1 Leaked SkTypeface: 1 Leaked SkFlattenable: 3 Leaked SkXfermode: 3 Leaked SkPathRef: 1 Leaked SkPixelRef: 1 Leaked SkMallocPixelRef: 1 becomes Leaked SkXfermode: 3 Leaked SkMallocPixelRef: 1 Leaked SkPixelRef: 1 Leaked SkPathRef: 1 Leaked SkFlattenable: 3 Leaked SkTypeface: 1 Leaked SkWeakRefCnt: 1 Leaked SkFontMgr: 1 Leaked SkRefCntBase: 7 This is motivated by wanting to land https://codereview.chromium.org/806473006/, which makes sure all static use of SkOnce are in global scope. The current implementation of SkInstCnt uses them in function scope, which isn't safe. BUG=skia: No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/841263004
/external/skia/include/core/SkRefCnt.h
|
21180e26519a23cc69f4673f0b518395fddac57b |
|
25-Nov-2014 |
mtklein <mtklein@google.com> |
Revert of Blink hasn't rolled yet, better. (patchset #1 id:1 of https://codereview.chromium.org/758693002/) Reason for revert: Try again, for real. Original issue's description: > Blink hasn't rolled yet, better. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/89ff0846fd9dacf5f081373746624d450a5f8c26 TBR=mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/754303004
/external/skia/include/core/SkRefCnt.h
|
89ff0846fd9dacf5f081373746624d450a5f8c26 |
|
24-Nov-2014 |
Mike Klein <mtklein@google.com> |
Blink hasn't rolled yet, better. BUG=skia: Review URL: https://codereview.chromium.org/758693002
/external/skia/include/core/SkRefCnt.h
|
a2a5cd440515c485ee5939640be9fc2fba403766 |
|
24-Nov-2014 |
mtklein <mtklein@google.com> |
Revert of Blink hasn't rolled yet. (patchset #1 id:1 of https://codereview.chromium.org/754133002/) Reason for revert: Not thorough enough. Original issue's description: > Blink hasn't rolled yet. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/fa14113d0563686af9f7e2d8e041dd7bf538cfa2 TBR=mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/752303002
/external/skia/include/core/SkRefCnt.h
|
3c850c561fcad1ac35bff4ec2875a40ef2309148 |
|
24-Nov-2014 |
reed <reed@google.com> |
restore old convention of asserting refcnt==1 in destructor BUG=skia: Review URL: https://codereview.chromium.org/757563003
/external/skia/include/core/SkRefCnt.h
|
fa14113d0563686af9f7e2d8e041dd7bf538cfa2 |
|
24-Nov-2014 |
Mike Klein <mtklein@google.com> |
Blink hasn't rolled yet. BUG=skia: Review URL: https://codereview.chromium.org/754133002
/external/skia/include/core/SkRefCnt.h
|
bbb61d7268b26d240afde2c924cb7d1370aa4071 |
|
24-Nov-2014 |
mtklein <mtklein@chromium.org> |
make SkRefCnt::getRefCnt() debug-only, remove it from SkNVRefCnt. Only (unused) API removed. TBR=reed@google.com BUG=skia:3160 Review URL: https://codereview.chromium.org/752263002
/external/skia/include/core/SkRefCnt.h
|
90d0ff013bbd8e5295d1517d41cb408e9d9f4d93 |
|
24-Nov-2014 |
reed <reed@google.com> |
add some debugging to SkNVRefCnt BUG=skia: Review URL: https://codereview.chromium.org/745383003
/external/skia/include/core/SkRefCnt.h
|
844aa334a43a95cd83a27d565db1d3370d8dc10c |
|
20-Nov-2014 |
Florin Malita <fmalita@google.com> |
Add SkNVRefCnt::getRefCnt() Used in Blink unit tests. TBR=mtklein@google.com,humper@google.com Review URL: https://codereview.chromium.org/746693002
/external/skia/include/core/SkRefCnt.h
|
d6ab2a8e45f6c473c076a828aa401919d7519d05 |
|
20-Nov-2014 |
mtklein <mtklein@chromium.org> |
Add SkNVRefCnt::deref(). TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/744853002
/external/skia/include/core/SkRefCnt.h
|
08d1fccf6eeec0a9fd5421e59e4d05daccf6e339 |
|
20-Nov-2014 |
mtklein <mtklein@chromium.org> |
Add SkNVRefCnt, prune down SkPicture's size SkNVRefCnt is a variant of SkRefCnt that's Not Virtual, so weighs 4 bytes instead of 8 or 16. There's only benefit to doing this if the deriving class does not otherwise need a vtable, e.g. SkPicture. I've stripped out some cruft from SkPicture, rearranged fields to pack tightly, and added compile asserts for the sizes of SkPicture, SkRecord, and SkVarAlloc. BUG=skia:3144 Review URL: https://codereview.chromium.org/741793002
/external/skia/include/core/SkRefCnt.h
|
a5cf665997d73169e2f5260eaf9643af1f309762 |
|
29-Oct-2014 |
bungeman <bungeman@google.com> |
Issue acquire barrier in SkRefCnt::unique(). When unique() returns true, it must also issue an acquire barrier. Note that this change may adversly impact SkPath performance, but editing SkPaths is already a performance issue. BUG=chromium:258499 No API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/687293002
/external/skia/include/core/SkRefCnt.h
|
d71b75757335393d9643a5b7a0f2769b6ba52fb6 |
|
18-Sep-2014 |
bungeman <bungeman@google.com> |
Serialize the font index. BUG=skia:1186 R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/567013002
/external/skia/include/core/SkRefCnt.h
|
49f085dddff10473b6ebf832a974288300224e60 |
|
05-Sep-2014 |
bsalomon <bsalomon@google.com> |
"NULL !=" = NULL R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
/external/skia/include/core/SkRefCnt.h
|
dcabb05113a732636691abc16d643a091336aea5 |
|
21-Jul-2014 |
bsalomon <bsalomon@google.com> |
Make GrCacheable implement its own ref counting. R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/392333008
/external/skia/include/core/SkRefCnt.h
|
733418f91e4d90f4ec250d9a97120618a5a89b49 |
|
17-Jul-2014 |
bungeman <bungeman@google.com> |
Remove SkRefPtr. R=mtklein@google.com, reed@google.com, bsalomon@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/393913002
/external/skia/include/core/SkRefCnt.h
|
a179a1ede9e8ff17e23a61a55d822e862d09b8e8 |
|
15-Jul-2014 |
mtklein <mtklein@chromium.org> |
SkAutoRef seems lonely. Might as well delete it. (On the other hand, SkAutoUnref is well-used.) NOTREECHECKS=true BUG=skia: R=bungeman@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/393953004
/external/skia/include/core/SkRefCnt.h
|
874a62acef5ec2ecccdbb99ec4d86402a3341e6a |
|
09-Jul-2014 |
Mike Klein <mtklein@google.com> |
Revert "Remove ability for Release code to call getRefCnt() or getWeakRefCnt()." This reverts commit 4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443. BUG=skia: Review URL: https://codereview.chromium.org/382523002
/external/skia/include/core/SkRefCnt.h
|
4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443 |
|
08-Jul-2014 |
mtklein <mtklein@chromium.org> |
Remove ability for Release code to call getRefCnt() or getWeakRefCnt(). These getRefCnt() methods are not thread safe, so Skia code should not be calling them. unique() is fine. SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt(). This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in both debug and release modes. BUG=skia:2726 R=senorblanco@chromium.org, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/378643003
/external/skia/include/core/SkRefCnt.h
|
b59161f0000eb4aca3dcef29f27ffd0fb5a568e5 |
|
18-Jun-2014 |
mtklein <mtklein@chromium.org> |
Add SkASSERTF. Example failure: fRefCnt was 3 ../../../usr/local/google/home/mtklein/skia/include/core/SkRefCnt.h:40: failed assertion "(fRefCnt == 1) || (SkDebugf("fRefCnt was %d""\n", fRefCnt), false)" Command terminated by signal 11 Not pretty, but everything's there. Perhaps we'll think of ways to make it nicer later. BUG=skia: R=bsalomon@google.com, reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/337243004
/external/skia/include/core/SkRefCnt.h
|
86b0de4745a8a8317b54f23878498633b9210a8f |
|
28-May-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert "Remove SkThread.h from public API." Too much depends on SkThread being in include/core in Chrome build. This reverts commit b1aec17df6078115c797839c9646081ccba2bd09. NOTREECHECKS=true NOTRY=true R=reed@google.com, mtklein@google.com TBR=reed BUG=skia: Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/303813003 git-svn-id: http://skia.googlecode.com/svn/trunk@14934 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
b1aec17df6078115c797839c9646081ccba2bd09 |
|
28-May-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Remove SkThread.h from public API. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/303463009 git-svn-id: http://skia.googlecode.com/svn/trunk@14926 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
f672cead70404080a991ebfb86c38316a4589b23 |
|
27-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
teach TSAN about SkSpinlock, SkRefCnt, and SkOnce 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
/external/skia/include/core/SkRefCnt.h
|
a537627f068db022e1d61fdd4507566aa49ee6c5 |
|
27-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert of teach TSAN about SkSpinlock, SkRefCnt, and SkOnce (https://codereview.chromium.org/247813005/) Reason for revert: breaks blink in roll Original issue's description: > teach TSAN about SkSpinlock, SkRefCnt, and SkOnce > > 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@chromium.org TBR=bsalomon@google.com, bungeman@google.com, mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/258783005 git-svn-id: http://skia.googlecode.com/svn/trunk@14389 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
6d4e90a2d4c1dc807c7faaeb5ce9bafb3f10d7cc |
|
24-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
teach TSAN about SkSpinlock, SkRefCnt, and SkOnce BUG=skia: Committed: http://code.google.com/p/skia/source/detail?r=14353 NOTRY=true NOTREECHECKS=true 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@14354 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
1d24eb20e77f0b291a6dcf6aa054b74f41fa1af2 |
|
24-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
teach TSAN about SkSpinlock, SkRefCnt, and SkOnce 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
/external/skia/include/core/SkRefCnt.h
|
e3beb6bd7de7fa211681abbb0be58e80b19885e0 |
|
07-Apr-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
SkNonCopyable should be used with private inheritance. This is mostly s/public SkNoncopyable/SkNoncopyable/g. Two classes (SkDrawLooper::Context and SkPicture::OperationList) don't actually work with SkNoncopyable because they introduce a virtual destructor. I added SkNoncopyableVirtual to make them work as intended. Sort of questionable whether they really need to be noncopyable in the first place, but I guess it doesn't hurt to keep the behavior the same. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/226183018 git-svn-id: http://skia.googlecode.com/svn/trunk@14081 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
ea6e14a3825d6f805527ddfbce4fd6b2bf73a7df |
|
04-Feb-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
TSAN: use somewhat pithier SK_ANNOTATE_UNPROTECTED_READ. 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
/external/skia/include/core/SkRefCnt.h
|
d9947f605a335363b0a0541d6d8cb7a7113ed788 |
|
18-Dec-2013 |
bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Split atomic and mutex implementations and make inlinable. Skia cannot use Chromium's implementation of mutex (Lock) due to static initializers. However, we would like to be able to use Chromium's implementation of atomics. This motivates the split of implementation. Skia's atomic and mutex calls should be inlinable, especially the atomics. These calls often compile down to very few instructions, and we currently have the overhead of a function call. This motivates the header implementation. There is still a desire for the build system to select the implementation, so the SK_XXX_PLATFORM_H pattern for header files is introduced. This allows the build system to control which platform specific header files are chosen. The Chromium side changes (most of which will need to go in before this change can be found at https://codereview.chromium.org/19477005/ . The Chromium side changes after this lands can be seen at https://codereview.chromium.org/98073013 . Review URL: https://codereview.chromium.org/19808007 git-svn-id: http://skia.googlecode.com/svn/trunk@12738 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
e61a86cfa00ea393ecc4a71fca94e1d476a37ecc |
|
18-Nov-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Guard against most unintentionally ephemeral SkAutoFoo instantiations. I think I applied the trick everywhere possible. Limitations: - can't be used with templated classes - all constructors and destructors must be defined inline A couple of the SkAutoFoo were unused in Skia, Chromium, and Android, so I deleted them. This change caught the same bugs Cary found in SkPath, plus one more in SampleApp. BUG= R=reed@google.com, caryclark@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/72603005 git-svn-id: http://skia.googlecode.com/svn/trunk@12301 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
10ba006631a0c350aa2bcba188a60404869607c8 |
|
25-Oct-2013 |
bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Allow users to build on top of, instead of beneath, SkRefCnt. Alternative to r11811. The Chromium half of this can be seen at https://codereview.chromium.org/40973002/ . R=reed@google.com Review URL: https://codereview.chromium.org/40503002 git-svn-id: http://skia.googlecode.com/svn/trunk@11967 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
6d2533ebd2ad5168d08f5a83e681881c0d533949 |
|
16-Oct-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add hooks for external run-time reference adoption checks to SkRefCnt. The reference adoption checks are to help detect memory leaks and bad usage when using SkRefCnt subclasses with Blink's RefPtr. BUG=crbug.com/304265 R=reed@google.com, bungeman@google.com Author: junov@chromium.org Review URL: https://codereview.chromium.org/25432003 git-svn-id: http://skia.googlecode.com/svn/trunk@11811 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
03087072483378a43f7b3f7a47944614187275eb |
|
02-Oct-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Make it explicit that some validate methods are debug only https://codereview.chromium.org/25716003/ git-svn-id: http://skia.googlecode.com/svn/trunk@11575 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
a4de8c257ea0be8ff7081f645249b6afe5c48e7e |
|
09-Sep-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Remove GrRefCnt.h in favor of SkRefCnt.h This removes GrRefCnt.h with all its tyepdefs and #defines and just switch them to the Sk* equivalents. GrSafeSetNull was promoted to SkSafeSetNull in SkRefCnt.h. BUG=None TEST=none, no functional changes. R=bsalomon@google.com, robertphillips@google.com Author: tfarina@chromium.org Review URL: https://chromiumcodereview.appspot.com/23904003 git-svn-id: http://skia.googlecode.com/svn/trunk@11151 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
f64c6842c15e1ba126639be7578e4642cb396987 |
|
20-Jul-2013 |
bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add a 'unique' method to SkRefCnt, document the usage, and add support. std::shared_ptr has a method called 'unique' which captures the concept that a reference count of 1 is special, and can be used to optimize copy on write. It also has some undocumented need for memory barriers in certain situations and those needs are documented here. The motivation for looking into this is crbug.com/258499 . The use of the reference count in this manner is a benign race with both ref() and unref(). By introducing sk_atomic_unprotected_read, it is possible for Chromium to annotate this read to tell ThreadSanitizer that this is known. R=bsalomon@google.com Review URL: https://codereview.chromium.org/18770007 git-svn-id: http://skia.googlecode.com/svn/trunk@10221 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
39095b9d14b2a2ad7acd1e24b9ebbc20cf7eb4e1 |
|
27-Jun-2013 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Alias deref -> unref. This allows Skia objects to be held by WTF::RefPtr smart pointers without need for another smart pointer type. Note that the semantics of SkRefCnt match those WTF expects. In particular, newly created objects have refcount 1 and objects are deallocated at refcount 0. This seems like a better fit than the AddRef/Release alises which exist for scoped_ptr (but seem unused). BUG=254509 R=reed@google.com Author: jbroman@chromium.org Review URL: https://chromiumcodereview.appspot.com/17880003 git-svn-id: http://skia.googlecode.com/svn/trunk@9784 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
6f4cf2a19553b69d5bb10c5cd1005706a9fc6e22 |
|
16-Apr-2013 |
bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Remove 'friend SkRefCnt' from SkData. https://codereview.chromium.org/13925021/ If a non-POD class does not provide a default destructor, one is provided by teh compiler. GCC will do so, but only at the point where the vtable is output; since BlockRef has no implementation its destructor is never output, so there is no complaint. VC++, however, provides the destructor implementation as soon as it sees the type. If the destructor of BlockRef is ever defined an error will be reported (since the destructor of SkData is private). Declaring (but does not defining) a destructor for BlockRef fixes two issues. First, it prevents a default destructor from being provided, removing the VC++ error. Second, BlockRef now blocks access to the destructor through '->'. git-svn-id: http://skia.googlecode.com/svn/trunk@8697 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
2863f082f2524ebae9e69f382b50065189912b47 |
|
13-Mar-2013 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
have reset() return its argument as a convenience git-svn-id: http://skia.googlecode.com/svn/trunk@8141 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
e16efc1882ab34a0bb3ae361a2d37f840044cf87 |
|
26-Jan-2013 |
skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Sanitizing source files in Skia_Periodic_House_Keeping git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
2b4e5445d2097cd4c849a2d96df9b6075a725c5a |
|
07-Jan-2013 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
re-add SkRefPtr to SkRefCnt.h until all uses of it have been removed from Chrome git-svn-id: http://skia.googlecode.com/svn/trunk@7044 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
d96d17b9c113ac694138224249ff2ce643e961dd |
|
04-Jan-2013 |
vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Remove SkRefPtr (resubmit of https://codereview.appspot.com/7030059/) TBR=junov@google.com Review URL: https://codereview.appspot.com/7030065 git-svn-id: http://skia.googlecode.com/svn/trunk@7030 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
6eb549e8ca3d88d7536859fd5aa3343fc3011f2f |
|
04-Jan-2013 |
vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert "Remove SkRefPtr" - r7021 samplecode/ still needs to be updated. Review URL: https://codereview.appspot.com/7032048 git-svn-id: http://skia.googlecode.com/svn/trunk@7022 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
e8a76ae8edc4f90456f9d8f90e56bf97f2657f3a |
|
04-Jan-2013 |
vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Remove SkRefPtr Review URL: https://codereview.appspot.com/7030059 git-svn-id: http://skia.googlecode.com/svn/trunk@7021 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
9f0af0a285addbeb55db5dd92c3a3b92c144532f |
|
30-Nov-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Create aliases AddRef() and Release() to SkRefCnt for compatibility with scoped_refptr Review URL: https://codereview.appspot.com/6844116 git-svn-id: http://skia.googlecode.com/svn/trunk@6639 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
68d6bb0c119141b0c8637d0b1b3c8b73c7026933 |
|
27-Nov-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
revert prev change to reset git-svn-id: http://skia.googlecode.com/svn/trunk@6571 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
4efd9d9872420b40f618294a0db4bbf7f70405d2 |
|
27-Nov-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
guard for self-assignment in reset() git-svn-id: http://skia.googlecode.com/svn/trunk@6568 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
1dfe88e00aeddf20690fd2469fd17e43f670ee3a |
|
03-Oct-2012 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert r5557 (which itself was a revert of r5433). Relands SkPathRef. Will follow with change for extra debug checks to attempt to ferret out http://www.crbug.com/148637. git-svn-id: http://skia.googlecode.com/svn/trunk@5783 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
6c5418e6c25141cc3a1cc798d55219012bc881ec |
|
14-Sep-2012 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Temporarily revert r5433 due to http://www.crbug.com/148637 until after M23 branch. git-svn-id: http://skia.googlecode.com/svn/trunk@5557 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
69aca79b5c1cb43f8c3b5c1bee2c0342c8ff6ed1 |
|
07-Sep-2012 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
SkPathRef: one allocation for pts+verbs, path GenID, copy-on-write Review URL: https://codereview.appspot.com/6488063/ git-svn-id: http://skia.googlecode.com/svn/trunk@5433 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
1fd201b9dfc739b7a615fdc1eb64dbe136e7cf76 |
|
22-Aug-2012 |
bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
SkRef for expressions. https://codereview.appspot.com/6475045/ git-svn-id: http://skia.googlecode.com/svn/trunk@5238 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
91208922687a33df1d5253928b8d5d7d4685c7ac |
|
30-Jul-2012 |
bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Const correct BlockRef in SkAutoTUnref. https://codereview.appspot.com/6448066/ git-svn-id: http://skia.googlecode.com/svn/trunk@4829 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
1448cf8cb6c6cd4866f7c71bf32ad6bca5d683d1 |
|
27-Jul-2012 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Specialize SkAutoTUnref on const T so that operator -> works. Review URL: http://codereview.appspot.com/6450054/ git-svn-id: http://skia.googlecode.com/svn/trunk@4802 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
f79430350d9f06a72b307af879d7f3bdec7ff706 |
|
23-Jul-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
add protected method for internal_dispose overrides to jam fRefCnt before calling destructor. move SkTRefArray to actually inherit from SkRefCnt Review URL: https://codereview.appspot.com/6422057 git-svn-id: http://skia.googlecode.com/svn/trunk@4719 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
15c0fea699b25343fe6f49668a5632866e1a0306 |
|
22-Jun-2012 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
AutoScratchTexture can now release its texture and it will return to the texture cache when freed http://codereview.appspot.com/6262043/ git-svn-id: http://skia.googlecode.com/svn/trunk@4301 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
4d73ac22a1b99402fc8cff78a4eb4b27aa8fe019 |
|
13-Jun-2012 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Version 2 of the Instance Counting system. This one simplifies the print out of information. http://codereview.appspot.com/6296069/ git-svn-id: http://skia.googlecode.com/svn/trunk@4255 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
977b9c8af3ef1b9a2fa2a0037cf3734cf2ba13d9 |
|
05-Jun-2012 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Instance counting for SkRefCnt-derived objects (w/ CanvasTest fix) http://codereview.appspot.com/6242070/ git-svn-id: http://skia.googlecode.com/svn/trunk@4170 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
25c199343d2683a8eec1e12790b658710389f6fe |
|
05-Jun-2012 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Reverting r4162 git-svn-id: http://skia.googlecode.com/svn/trunk@4164 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
3227ab5f6454b3b553284abd5c9894a8d1c7e845 |
|
05-Jun-2012 |
robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Added instance counting system for SkRefCnt-derived objects http://codereview.appspot.com/6242070/ git-svn-id: http://skia.googlecode.com/svn/trunk@4162 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
04640299dc0d71752295a630d58f6160642f3c8e |
|
01-Jun-2012 |
bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
VC++ allows template parameter shadowing. git-svn-id: http://skia.googlecode.com/svn/trunk@4127 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
e70f798ebca1a66f0b568fa46065ebbad9a13b2f |
|
01-Jun-2012 |
bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Serialize support for GDI. http://codereview.appspot.com/6263046/ git-svn-id: http://skia.googlecode.com/svn/trunk@4126 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
a02bc1519cf49afa31fb38bed097dd5014880d04 |
|
16-May-2012 |
bungeman@google.com <bungeman@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
WeakRefCnt http://codereview.appspot.com/5649046/ git-svn-id: http://skia.googlecode.com/svn/trunk@3978 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
f51018d8f954cc644cc875dc1faab386fd6e85e3 |
|
08-May-2012 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
allow SkAutoTUnref to be used syntactially as the object is refs Review URL: https://codereview.appspot.com/6189059 git-svn-id: http://skia.googlecode.com/svn/trunk@3870 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
4c888aae25c1f6a420caceec7c42736ba6ddad3d |
|
12-Sep-2011 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
write 0 to our refcnt in the destructor, in the off-chance of it helping us catch reuse-after-delete bugs (debug only) git-svn-id: http://skia.googlecode.com/svn/trunk@2251 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
a44f7003e5f9d1353bc9274268fb5302e69fc94a |
|
09-Aug-2011 |
bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Fix some ref leaks Review URL: http://codereview.appspot.com/4837068/ git-svn-id: http://skia.googlecode.com/svn/trunk@2082 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976e |
|
28-Jul-2011 |
epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Automatic update of all copyright notices to reflect new license terms. I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
7f6d6d4571c0682c81f8508ac4862b2dfea20aec |
|
15-Jul-2011 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
add validate() and SkAutoRef git-svn-id: http://skia.googlecode.com/svn/trunk@1872 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
7ffb1b21abcc7bbed5a0fc711f6dd7b9dbb4f577 |
|
15-Mar-2011 |
ctguil@chromium.org <ctguil@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Add code needed to build skia as a windows dll within the chromium project. - Export/import skia APIs if SKIA_DLL is defined. - This change has no effect on skia. Review URL: http://codereview.appspot.com/4282042 git-svn-id: http://skia.googlecode.com/svn/trunk@944 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
ddbf4c85dece1bef3b6c97219187a6b616b66346 |
|
08-Mar-2011 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
remove unused methods from SkRefPtr, as a check-point for better understanding what we want to do with this class. git-svn-id: http://skia.googlecode.com/svn/trunk@903 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
a67573e25faa81ea65e6fc368f66d3f0c0a5f189 |
|
25-Feb-2011 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
http://codereview.appspot.com/4233041/ Add templated version of SkAutoTUnref. Add unittests for it. Remove unused helper apis on SkAutoUnref. git-svn-id: http://skia.googlecode.com/svn/trunk@858 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
82065d667f64e232bcde2ad849756a6096fcbe6f |
|
07-Feb-2011 |
reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
remove SkRefCnt safeRef() and safeUnref(), and replace the call-sites with SkSafeRef() and SkSafeUnref(). This is basically a bug waiting to happen. An optimizing compiler can remove checks for null on "this" if it chooses. However, SkRefCnt::safeRef() relies on precisely this check... void SkRefCnt::safeRef() { if (this) { this->ref(); } } Since a compiler might skip the if-clause, it breaks the intention of this method, hence its removal. static inline void SkSafeRef(SkRefCnt* obj) { if (obj) { obj->ref(); } } This form is not ignored by an optimizing compile, so we use it instead. git-svn-id: http://skia.googlecode.com/svn/trunk@762 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
756f6dd82da298375547cb36955be9ac8574d2dc |
|
16-Apr-2010 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
dox git-svn-id: http://skia.googlecode.com/svn/trunk@556 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
b00cd7258c5ccf856c0dc72840e082306251b278 |
|
16-Apr-2010 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
add SkRefPtr class (for testing at the moment) git-svn-id: http://skia.googlecode.com/svn/trunk@555 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
149e2f6159a797989f6f0fa93ecfaa66cdd55c40 |
|
22-May-2009 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
add SkSafeRef / SkSafeUnref as inline static functions, to use in place of our existing obj->safeRef(), which is unsafe since it can its 'if (this)' can be optimized away by some compilers. fix some overflows in mimpmap generation git-svn-id: http://skia.googlecode.com/svn/trunk@181 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|
8a1c16ff38322f0210116fa7293eb8817c7e477e |
|
17-Dec-2008 |
reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81> |
grab from latest android git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/include/core/SkRefCnt.h
|