81496fb21637cc8d2a2b45a790e0f9d6d6f769c4 |
|
28-May-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Spin off just SkLazyFnPtr from 305513002. The memory barrier in SkOnce is a perf regression for sk_mem{set,cpy} in SkUtils on ARM. We can do a lot better for function pointers. BUG=skia: Committed: http://code.google.com/p/skia/source/detail?r=14929 R=bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/305753002 git-svn-id: http://skia.googlecode.com/svn/trunk@14938 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/ports/SkAtomics_sync.h
|
05d1cc23ec8c7c4befa039330c48901f9ff1251c |
|
28-May-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Revert of Spin off just SkLazyFnPtr from 305513002. (https://codereview.chromium.org/305753002/) Reason for revert: depends on bad cl Original issue's description: > Spin off just SkLazyFnPtr from 305513002. > > The memory barrier in SkOnce is a perf regression for sk_mem{set,cpy} in > SkUtils on ARM. We can do a lot better for function pointers. > > BUG=skia: > > Committed: http://code.google.com/p/skia/source/detail?r=14929 R=bungeman@google.com, mtklein@chromium.org TBR=bungeman@google.com, mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/300843012 git-svn-id: http://skia.googlecode.com/svn/trunk@14933 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/ports/SkAtomics_sync.h
|
3fdc7d6dd13b510de09cf29ffd3fe36adf89d541 |
|
28-May-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Spin off just SkLazyFnPtr from 305513002. The memory barrier in SkOnce is a perf regression for sk_mem{set,cpy} in SkUtils on ARM. We can do a lot better for function pointers. BUG=skia: R=bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/305753002 git-svn-id: http://skia.googlecode.com/svn/trunk@14929 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/ports/SkAtomics_sync.h
|
81da061f7285bbcf0acc31142042a9cd0ab8f068 |
|
27-May-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Implement sk_atomic_conditional_inc with sk_atomic_cas. Now that we have sk_atomic_cas, we can replace all the platform-specific CAS loops with one. BUG=skia: R=bungeman@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/300553003 git-svn-id: http://skia.googlecode.com/svn/trunk@14892 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/ports/SkAtomics_sync.h
|
4b5fba5a3cc29058088a9a62df1da83e1a3c7db0 |
|
08-Jan-2014 |
commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> |
Use a spinlock in SkOnce. SkOnceFlag is now statically initializable on all platforms. Also adds sk_atomic_cas, used to implement new SkSpinlock. Going to punt on making SkOnceFlag any smaller (for now, it's 8 bytes). We could conceivably get it down to two bits, one for done and one for a one-bit spinlock (we'd need atomic-& and atomic-| to make that work, but they appear to be available everywhere). BUG=skia:1929 R=bungeman@google.com, reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/123093002 git-svn-id: http://skia.googlecode.com/svn/trunk@12968 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/ports/SkAtomics_sync.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/src/ports/SkAtomics_sync.h
|