| Index: third_party/WebKit/Source/wtf/InstanceCounter.cpp
|
| diff --git a/third_party/WebKit/Source/wtf/InstanceCounter.cpp b/third_party/WebKit/Source/wtf/InstanceCounter.cpp
|
| index a93a276467aa81ff48bb9ff849287ca02c9d3e47..382755561f1cc68320126af5719aead80c937fcb 100644
|
| --- a/third_party/WebKit/Source/wtf/InstanceCounter.cpp
|
| +++ b/third_party/WebKit/Source/wtf/InstanceCounter.cpp
|
| @@ -52,103 +52,94 @@ const size_t extractNameFunctionPostfixLength = sizeof(">(void)") - 1;
|
|
|
| // This function is used to stringify a typename T without using RTTI.
|
| // The result of extractNameFunction<T>() is given as |funcName|. |extractTypeNameFromFunctionName| then extracts a typename string from |funcName|.
|
| -String extractTypeNameFromFunctionName(const char* funcName)
|
| -{
|
| +String extractTypeNameFromFunctionName(const char* funcName) {
|
| #if COMPILER(CLANG) || COMPILER(GCC) || COMPILER(MSVC)
|
| - size_t funcNameLength = strlen(funcName);
|
| - ASSERT(funcNameLength > extractNameFunctionPrefixLength + extractNameFunctionPostfixLength);
|
| + size_t funcNameLength = strlen(funcName);
|
| + ASSERT(funcNameLength > extractNameFunctionPrefixLength + extractNameFunctionPostfixLength);
|
|
|
| - const char* funcNameWithoutPrefix = funcName + extractNameFunctionPrefixLength;
|
| - return String(funcNameWithoutPrefix, funcNameLength - extractNameFunctionPrefixLength - extractNameFunctionPostfixLength);
|
| + const char* funcNameWithoutPrefix = funcName + extractNameFunctionPrefixLength;
|
| + return String(funcNameWithoutPrefix, funcNameLength - extractNameFunctionPrefixLength - extractNameFunctionPostfixLength);
|
| #else
|
| - return String("unknown");
|
| + return String("unknown");
|
| #endif
|
| }
|
|
|
| class InstanceCounter {
|
| -public:
|
| - void incrementInstanceCount(const String& instanceName, void* ptr);
|
| - void decrementInstanceCount(const String& instanceName, void* ptr);
|
| - String dump();
|
| -
|
| - static InstanceCounter* instance()
|
| - {
|
| - DEFINE_STATIC_LOCAL(InstanceCounter, self, ());
|
| - return &self;
|
| - }
|
| -
|
| -private:
|
| - InstanceCounter() { }
|
| -
|
| - Mutex m_mutex;
|
| - HashMap<String, int> m_counterMap;
|
| + public:
|
| + void incrementInstanceCount(const String& instanceName, void* ptr);
|
| + void decrementInstanceCount(const String& instanceName, void* ptr);
|
| + String dump();
|
| +
|
| + static InstanceCounter* instance() {
|
| + DEFINE_STATIC_LOCAL(InstanceCounter, self, ());
|
| + return &self;
|
| + }
|
| +
|
| + private:
|
| + InstanceCounter() {}
|
| +
|
| + Mutex m_mutex;
|
| + HashMap<String, int> m_counterMap;
|
| };
|
|
|
| -void incrementInstanceCount(const char* extractNameFunctionName, void* ptr)
|
| -{
|
| - String instanceName = extractTypeNameFromFunctionName(extractNameFunctionName);
|
| - InstanceCounter::instance()->incrementInstanceCount(instanceName, ptr);
|
| +void incrementInstanceCount(const char* extractNameFunctionName, void* ptr) {
|
| + String instanceName = extractTypeNameFromFunctionName(extractNameFunctionName);
|
| + InstanceCounter::instance()->incrementInstanceCount(instanceName, ptr);
|
| }
|
|
|
| -void decrementInstanceCount(const char* extractNameFunctionName, void* ptr)
|
| -{
|
| - String instanceName = extractTypeNameFromFunctionName(extractNameFunctionName);
|
| - InstanceCounter::instance()->decrementInstanceCount(instanceName, ptr);
|
| +void decrementInstanceCount(const char* extractNameFunctionName, void* ptr) {
|
| + String instanceName = extractTypeNameFromFunctionName(extractNameFunctionName);
|
| + InstanceCounter::instance()->decrementInstanceCount(instanceName, ptr);
|
| }
|
|
|
| -String dumpRefCountedInstanceCounts()
|
| -{
|
| - return InstanceCounter::instance()->dump();
|
| +String dumpRefCountedInstanceCounts() {
|
| + return InstanceCounter::instance()->dump();
|
| }
|
|
|
| -void InstanceCounter::incrementInstanceCount(const String& instanceName, void* ptr)
|
| -{
|
| - MutexLocker locker(m_mutex);
|
| - HashMap<String, int>::AddResult result = m_counterMap.add(instanceName, 1);
|
| - if (!result.isNewEntry)
|
| - ++(result.storedValue->value);
|
| +void InstanceCounter::incrementInstanceCount(const String& instanceName, void* ptr) {
|
| + MutexLocker locker(m_mutex);
|
| + HashMap<String, int>::AddResult result = m_counterMap.add(instanceName, 1);
|
| + if (!result.isNewEntry)
|
| + ++(result.storedValue->value);
|
| }
|
|
|
| -void InstanceCounter::decrementInstanceCount(const String& instanceName, void* ptr)
|
| -{
|
| - MutexLocker locker(m_mutex);
|
| - HashMap<String, int>::iterator it = m_counterMap.find(instanceName);
|
| - ASSERT(it != m_counterMap.end());
|
| +void InstanceCounter::decrementInstanceCount(const String& instanceName, void* ptr) {
|
| + MutexLocker locker(m_mutex);
|
| + HashMap<String, int>::iterator it = m_counterMap.find(instanceName);
|
| + ASSERT(it != m_counterMap.end());
|
|
|
| - --(it->value);
|
| - if (!it->value)
|
| - m_counterMap.remove(it);
|
| + --(it->value);
|
| + if (!it->value)
|
| + m_counterMap.remove(it);
|
| }
|
|
|
| -String InstanceCounter::dump()
|
| -{
|
| - MutexLocker locker(m_mutex);
|
| -
|
| - StringBuilder builder;
|
| -
|
| - builder.append('{');
|
| - HashMap<String, int>::iterator it = m_counterMap.begin();
|
| - HashMap<String, int>::iterator itEnd = m_counterMap.end();
|
| - for (; it != itEnd; ++it) {
|
| - if (it != m_counterMap.begin())
|
| - builder.append(',');
|
| - builder.append('"');
|
| - builder.append(it->key);
|
| - builder.appendLiteral("\": ");
|
| - builder.appendNumber(it->value);
|
| - }
|
| - builder.append('}');
|
| -
|
| - return builder.toString();
|
| +String InstanceCounter::dump() {
|
| + MutexLocker locker(m_mutex);
|
| +
|
| + StringBuilder builder;
|
| +
|
| + builder.append('{');
|
| + HashMap<String, int>::iterator it = m_counterMap.begin();
|
| + HashMap<String, int>::iterator itEnd = m_counterMap.end();
|
| + for (; it != itEnd; ++it) {
|
| + if (it != m_counterMap.begin())
|
| + builder.append(',');
|
| + builder.append('"');
|
| + builder.append(it->key);
|
| + builder.appendLiteral("\": ");
|
| + builder.appendNumber(it->value);
|
| + }
|
| + builder.append('}');
|
| +
|
| + return builder.toString();
|
| }
|
|
|
| #else
|
|
|
| -String dumpRefCountedInstanceCounts()
|
| -{
|
| - return String("{}");
|
| +String dumpRefCountedInstanceCounts() {
|
| + return String("{}");
|
| }
|
|
|
| -#endif // ENABLE(INSTANCE_COUNTER) || ENABLE(DETAILED_MEMORY_INFRA)
|
| +#endif // ENABLE(INSTANCE_COUNTER) || ENABLE(DETAILED_MEMORY_INFRA)
|
|
|
| -} // namespace WTF
|
| +} // namespace WTF
|
|
|