Index: bench/SkBenchmark.h |
diff --git a/bench/SkBenchmark.h b/bench/SkBenchmark.h |
index f1e317da60c71bb5286301e99d0b85827ed79548..bf28689236593b81cf450f29ff88fc197adc7c59 100644 |
--- a/bench/SkBenchmark.h |
+++ b/bench/SkBenchmark.h |
@@ -15,10 +15,8 @@ |
#define DEF_BENCH(code) \ |
namespace { \ |
-class SK_MACRO_APPEND_LINE(F_CLASS) : public SkBenchmarkFactory { \ |
- virtual SkBenchmark* operator()() const SK_OVERRIDE { code; } \ |
-} SK_MACRO_APPEND_LINE(g_F_); \ |
-BenchRegistry SK_MACRO_APPEND_LINE(g_R_)(&SK_MACRO_APPEND_LINE(g_F_)); \ |
+static SkBenchmark* SK_MACRO_APPEND_LINE(factory)(void*) { code; } \ |
+BenchRegistry SK_MACRO_APPEND_LINE(g_R_)(SK_MACRO_APPEND_LINE(factory)); \ |
} |
/* |
@@ -136,13 +134,6 @@ private: |
typedef SkRefCnt INHERITED; |
}; |
-class SkBenchmarkFactory : public SkRefCnt { |
-public: |
- // Creates a new SkBenchmark that is owned by the caller on each call. |
- virtual SkBenchmark* operator()() const = 0; |
- virtual ~SkBenchmarkFactory() {} |
-}; |
- |
-typedef SkTRegistry<SkBenchmarkFactory*> BenchRegistry; |
+typedef SkTRegistry<SkBenchmark*(*)(void*)> BenchRegistry; |
#endif |