Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Side by Side Diff: cc/tiles/gpu_image_decode_cache.cc

Issue 2535213002: [WIP] Add SharedMemoryTracker to dump base::SharedMemory usage
Patch Set: (wip) Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/tiles/gpu_image_decode_cache.h" 5 #include "cc/tiles/gpu_image_decode_cache.h"
6 6
7 #include <inttypes.h> 7 #include <inttypes.h>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/debug/alias.h" 10 #include "base/debug/alias.h"
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 ->fID; 643 ->fID;
644 MemoryAllocatorDumpGuid guid = gl::GetGLTextureClientGUIDForTracing( 644 MemoryAllocatorDumpGuid guid = gl::GetGLTextureClientGUIDForTracing(
645 context_->ContextSupport()->ShareGroupTracingGUID(), gl_id); 645 context_->ContextSupport()->ShareGroupTracingGUID(), gl_id);
646 646
647 // kImportance is somewhat arbitrary - we chose 3 to be higher than the 647 // kImportance is somewhat arbitrary - we chose 3 to be higher than the
648 // value used in the GPU process (1), and Skia (2), causing us to appear 648 // value used in the GPU process (1), and Skia (2), causing us to appear
649 // as the owner in memory traces. 649 // as the owner in memory traces.
650 const int kImportance = 3; 650 const int kImportance = 3;
651 pmd->CreateSharedGlobalAllocatorDump(guid); 651 pmd->CreateSharedGlobalAllocatorDump(guid);
652 pmd->AddOwnershipEdge(dump->guid(), guid, kImportance); 652 pmd->AddOwnershipEdge(dump->guid(), guid, kImportance);
653 // TODO(hajimehoshi): |image_data::data_| might be allocated in
654 // DiscardableSharedMemory. Get shared memory handle of that and call
655 // base::SharedMemoryDumpProvider::AddOwnershipEdgeToSharedGlobalDump here
653 } 656 }
654 } 657 }
655 658
656 return true; 659 return true;
657 } 660 }
658 661
659 void GpuImageDecodeCache::DecodeImage(const DrawImage& draw_image) { 662 void GpuImageDecodeCache::DecodeImage(const DrawImage& draw_image) {
660 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"), 663 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
661 "GpuImageDecodeCache::DecodeImage"); 664 "GpuImageDecodeCache::DecodeImage");
662 base::AutoLock lock(lock_); 665 base::AutoLock lock(lock_);
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after
1272 1275
1273 void GpuImageDecodeCache::OnPurgeMemory() { 1276 void GpuImageDecodeCache::OnPurgeMemory() {
1274 base::AutoLock lock(lock_); 1277 base::AutoLock lock(lock_);
1275 // Temporary changes |memory_state_| to free up cache as much as possible. 1278 // Temporary changes |memory_state_| to free up cache as much as possible.
1276 base::AutoReset<base::MemoryState> reset(&memory_state_, 1279 base::AutoReset<base::MemoryState> reset(&memory_state_,
1277 base::MemoryState::SUSPENDED); 1280 base::MemoryState::SUSPENDED);
1278 EnsureCapacity(0); 1281 EnsureCapacity(0);
1279 } 1282 }
1280 1283
1281 } // namespace cc 1284 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698