Expanded distribution of instance counting
http://codereview.appspot.com/6300114/
git-svn-id: http://skia.googlecode.com/svn/trunk@4291 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/bench/RefCntBench.cpp b/bench/RefCntBench.cpp
index f21317a..965eb26 100644
--- a/bench/RefCntBench.cpp
+++ b/bench/RefCntBench.cpp
@@ -40,10 +40,17 @@
class PlacedRefCnt : public SkRefCnt {
public:
+ SK_DECLARE_INST_COUNT(PlacedRefCnt)
+
PlacedRefCnt() : SkRefCnt() { }
void operator delete(void *p) { }
+
+private:
+ typedef SkRefCnt INHERITED;
};
+SK_DEFINE_INST_COUNT(PlacedRefCnt)
+
class RefCntBench_Heap : public SkBenchmark {
public:
RefCntBench_Heap(void* param) : INHERITED(param) {
diff --git a/bench/SkBenchmark.cpp b/bench/SkBenchmark.cpp
index a69402b..19bbf59 100644
--- a/bench/SkBenchmark.cpp
+++ b/bench/SkBenchmark.cpp
@@ -9,6 +9,8 @@
#include "SkPaint.h"
#include "SkParse.h"
+SK_DEFINE_INST_COUNT(SkBenchmark)
+
template BenchRegistry* BenchRegistry::gHead;
SkBenchmark::SkBenchmark(void* defineDict) {
diff --git a/bench/SkBenchmark.h b/bench/SkBenchmark.h
index 5019b23..1d6fb41 100644
--- a/bench/SkBenchmark.h
+++ b/bench/SkBenchmark.h
@@ -33,6 +33,8 @@
class SkBenchmark : public SkRefCnt {
public:
+ SK_DECLARE_INST_COUNT(SkBenchmark)
+
SkBenchmark(void* defineDict);
const char* getName();
@@ -88,6 +90,8 @@
SkTriState::State fDither;
bool fHasStrokeWidth;
SkScalar strokeWidth;
+
+ typedef SkRefCnt INHERITED;
};
typedef SkTRegistry<SkBenchmark*, void*> BenchRegistry;