aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/record
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-05-07 19:15:01 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-05-07 19:15:01 +0000
commit37a6a8c0d431076bba8d42b098c70beae1b54b14 (patch)
tree58acb25f9bfca2182bea4128f316711293bb6ef2 /src/record
parent08bf86c56495b6779001b5756839fc2c73decba3 (diff)
Statically initialize those zero-size singletons.
This way GCC/Clang don't generate the magic static code to call the pointless T::T() once in a threadsafe way. = {} is plenty initialized. BUG=skia:2378 R=bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/270353003 git-svn-id: http://skia.googlecode.com/svn/trunk@14623 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/record')
-rw-r--r--src/record/SkRecord.h2
-rw-r--r--src/record/SkRecords.h1
2 files changed, 1 insertions, 2 deletions
diff --git a/src/record/SkRecord.h b/src/record/SkRecord.h
index ccfa1dd556..068155e47f 100644
--- a/src/record/SkRecord.h
+++ b/src/record/SkRecord.h
@@ -167,7 +167,7 @@ private:
// We could just return NULL but it's sort of confusing to return NULL on success.
template <typename T>
SK_WHEN(SkTIsEmpty<T>, T*) allocCommand() {
- static T singleton;
+ static T singleton = {};
return &singleton;
}
diff --git a/src/record/SkRecords.h b/src/record/SkRecords.h
index bfa15496f3..d4b6852d70 100644
--- a/src/record/SkRecords.h
+++ b/src/record/SkRecords.h
@@ -63,7 +63,6 @@ enum Type { SK_RECORD_TYPES(ENUM) };
#define RECORD0(T) \
struct T { \
static const Type kType = T##_Type; \
- T() {} \
};
// We try to be flexible about the types the constructors take. Instead of requring the exact type