diff options
author | mtklein <mtklein@chromium.org> | 2014-06-02 11:26:59 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-06-02 11:26:59 -0700 |
commit | 1b81877880253c75f835eede9a8ee21b9e7b584a (patch) | |
tree | bda959b9910f98cfd9fe857cdf7c962359796542 /src/ports | |
parent | 173a5c544be92a09cd8f7eae0e1d50da114e2bc0 (diff) |
Clean up SkOnce:
1 Remove atExit feature: clients can do it just as well as SkOnce can.
2 Remove support for functors: no one but the unit test did that.
3 Remove support for unused non-static SkOnceFlag (no SK_ONCE_INIT).
4 Add SkOnce variants for no-arg functions so we're not forced to pass dummy values all the time.
5 Merge SkSpinlock and SkOnceFlag, making all members private.
6 More notes about memory barriers, adding an acquire load after acquiring the spinlock.
BUG=skia:
R=bungeman@google.com, mtklein@google.com, reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/302083003
Diffstat (limited to 'src/ports')
-rw-r--r-- | src/ports/SkGlobalInitialization_chromium.cpp | 5 | ||||
-rw-r--r-- | src/ports/SkGlobalInitialization_default.cpp | 5 |
2 files changed, 4 insertions, 6 deletions
diff --git a/src/ports/SkGlobalInitialization_chromium.cpp b/src/ports/SkGlobalInitialization_chromium.cpp index 37e5450e19..f42b272f18 100644 --- a/src/ports/SkGlobalInitialization_chromium.cpp +++ b/src/ports/SkGlobalInitialization_chromium.cpp @@ -62,7 +62,7 @@ #include "SkMatrixImageFilter.h" #include "SkXfermodeImageFilter.h" -static void InitializeFlattenables(int*) { +static void InitializeFlattenables() { SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAvoidXfermode) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBicubicImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapProcShader) @@ -122,7 +122,6 @@ static void InitializeFlattenables(int*) { } void SkFlattenable::InitializeFlattenablesIfNeeded() { - int dummy; SK_DECLARE_STATIC_ONCE(once); - SkOnce(&once, InitializeFlattenables, &dummy); + SkOnce(&once, InitializeFlattenables); } diff --git a/src/ports/SkGlobalInitialization_default.cpp b/src/ports/SkGlobalInitialization_default.cpp index 949decd018..ce42ca5aad 100644 --- a/src/ports/SkGlobalInitialization_default.cpp +++ b/src/ports/SkGlobalInitialization_default.cpp @@ -62,7 +62,7 @@ #include "SkMatrixImageFilter.h" #include "SkXfermodeImageFilter.h" -static void InitializeFlattenables(int*) { +static void InitializeFlattenables() { SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkAvoidXfermode) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBicubicImageFilter) SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBitmapProcShader) @@ -123,7 +123,6 @@ static void InitializeFlattenables(int*) { } void SkFlattenable::InitializeFlattenablesIfNeeded() { - int dummy; SK_DECLARE_STATIC_ONCE(once); - SkOnce(&once, InitializeFlattenables, &dummy); + SkOnce(&once, InitializeFlattenables); } |