Chromium Code Reviews| Index: src/core/SkResourceCache.cpp |
| diff --git a/src/core/SkResourceCache.cpp b/src/core/SkResourceCache.cpp |
| index 46229fa5bdd987a77a05dff9e8b1964c345c57f9..5099c6a75b7023f5617a562c94bb95bba1725603 100644 |
| --- a/src/core/SkResourceCache.cpp |
| +++ b/src/core/SkResourceCache.cpp |
| @@ -675,16 +675,21 @@ void SkResourceCache::TestDumpMemoryStatistics() { |
| static void sk_trace_dump_visitor(const SkResourceCache::Rec& rec, void* context) { |
| SkTraceMemoryDump* dump = static_cast<SkTraceMemoryDump*>(context); |
| - SkString dump_name = SkStringPrintf("skia/sk_resource_cache/%s_%p", rec.getCategory(), &rec); |
| + SkString dumpName = SkStringPrintf("skia/sk_resource_cache/%s_%p", rec.getCategory(), &rec); |
| SkDiscardableMemory* discardable = rec.diagnostic_only_getDiscardable(); |
| if (discardable) { |
| - dump->setDiscardableMemoryBacking(dump_name.c_str(), *discardable); |
| + dump->setDiscardableMemoryBacking(dumpName.c_str(), *discardable); |
| } else { |
| - dump->dumpNumericValue(dump_name.c_str(), "size", "bytes", rec.bytesUsed()); |
| - dump->setMemoryBacking(dump_name.c_str(), "malloc", nullptr); |
| + dump->dumpNumericValue(dumpName.c_str(), "size", "bytes", rec.bytesUsed()); |
| + dump->setMemoryBacking(dumpName.c_str(), "malloc", nullptr); |
| } |
| } |
| void SkResourceCache::DumpMemoryStatistics(SkTraceMemoryDump* dump) { |
| - VisitAll(sk_trace_dump_visitor, dump); |
| + // Since resource could be backed by malloc or discardable, the cache always dumps detailed |
| + // stats to be accurate. |
| + if (dump->getRequestedDetails() | SkTraceMemoryDump::kMemoryTotals | |
| + SkTraceMemoryDump::kDiscardableDetails | SkTraceMemoryDump::kMallocDetails) { |
|
Primiano Tucci (use gerrit)
2015/09/11 17:39:53
This flag check seems wrong. I think you meant her
ssid
2015/09/21 14:24:14
Fixed this to &
|
| + VisitAll(sk_trace_dump_visitor, dump); |
| + } |
| } |