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

Side by Side Diff: base/trace_event/memory_allocator_dump_guid.cc

Issue 2923123004: [memory-infra] Add API to ProcessMemoryDump to create ownership edges for base::SharedMemory (Closed)
Patch Set: nits. Created 3 years, 6 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "base/trace_event/memory_allocator_dump_guid.h" 5 #include "base/trace_event/memory_allocator_dump_guid.h"
6 6
7 #include "base/format_macros.h" 7 #include "base/format_macros.h"
8 #include "base/sha1.h" 8 #include "base/sha1.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 10
11 namespace base { 11 namespace base {
12 namespace trace_event { 12 namespace trace_event {
13 13
14 namespace { 14 namespace {
15 uint64_t HashString(const std::string& str) { 15 uint64_t HashString(const std::string& str) {
16 uint64_t hash[(kSHA1Length + sizeof(uint64_t) - 1) / sizeof(uint64_t)] = {0}; 16 uint64_t hash[(kSHA1Length + sizeof(uint64_t) - 1) / sizeof(uint64_t)] = {0};
17 SHA1HashBytes(reinterpret_cast<const unsigned char*>(str.data()), str.size(), 17 SHA1HashBytes(reinterpret_cast<const unsigned char*>(str.data()), str.size(),
18 reinterpret_cast<unsigned char*>(hash)); 18 reinterpret_cast<unsigned char*>(hash));
19 return hash[0]; 19 return hash[0];
20 } 20 }
21 } // namespace 21 } // namespace
22 22
23 // static
24 bool MemoryAllocatorDumpGuid::UseSharedMemoryBasedGUIDs() {
25 // TODO(hajimehoshi): This should just become the default behavior once the
26 // Mojo GUID (crbug.com/604726) is fixed.
27 return false;
28 }
29
23 MemoryAllocatorDumpGuid::MemoryAllocatorDumpGuid(uint64_t guid) : guid_(guid) {} 30 MemoryAllocatorDumpGuid::MemoryAllocatorDumpGuid(uint64_t guid) : guid_(guid) {}
24 31
25 MemoryAllocatorDumpGuid::MemoryAllocatorDumpGuid() 32 MemoryAllocatorDumpGuid::MemoryAllocatorDumpGuid()
26 : MemoryAllocatorDumpGuid(0u) { 33 : MemoryAllocatorDumpGuid(0u) {
27 } 34 }
28 35
29 MemoryAllocatorDumpGuid::MemoryAllocatorDumpGuid(const std::string& guid_str) 36 MemoryAllocatorDumpGuid::MemoryAllocatorDumpGuid(const std::string& guid_str)
30 : MemoryAllocatorDumpGuid(HashString(guid_str)) { 37 : MemoryAllocatorDumpGuid(HashString(guid_str)) {
31 } 38 }
32 39
33 std::string MemoryAllocatorDumpGuid::ToString() const { 40 std::string MemoryAllocatorDumpGuid::ToString() const {
34 return StringPrintf("%" PRIx64, guid_); 41 return StringPrintf("%" PRIx64, guid_);
35 } 42 }
36 43
37 } // namespace trace_event 44 } // namespace trace_event
38 } // namespace base 45 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698