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

Unified Diff: base/trace_event/memory_allocator_dump_guid.cc

Issue 1204573005: [tracing] use SHA1 instead of base::Hash for memory dump GUIDs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/trace_event/memory_allocator_dump_guid.cc
diff --git a/base/trace_event/memory_allocator_dump_guid.cc b/base/trace_event/memory_allocator_dump_guid.cc
index a4ea50d416a0d5bd784e7c74501f77ad45d7b49f..f242e700b90e537775dcd3c40f5a768599f0b3c9 100644
--- a/base/trace_event/memory_allocator_dump_guid.cc
+++ b/base/trace_event/memory_allocator_dump_guid.cc
@@ -5,12 +5,26 @@
#include "base/trace_event/memory_allocator_dump_guid.h"
#include "base/format_macros.h"
-#include "base/hash.h"
+#include "base/sha1.h"
#include "base/strings/stringprintf.h"
namespace base {
namespace trace_event {
+namespace {
+uint64 HashString(const std::string& str) {
+ unsigned char sha1_bytes[kSHA1Length];
+ SHA1HashBytes(reinterpret_cast<const unsigned char*>(str.data()), str.size(),
+ &sha1_bytes[0]);
+ uint64 hash = 0;
+ for (size_t i = 0; i < sizeof(uint64); ++i) {
petrcermak 2015/06/23 13:13:43 nit: This relies on the fact that sizeof(uint64) <
Primiano Tucci (use gerrit) 2015/06/23 13:52:07 Ehh, if either uint64 or SHA1 change their size, E
+ hash |= sha1_bytes[i];
+ hash <<= 8;
petrcermak 2015/06/23 13:13:43 This order "wastes" 1 byte completely, because the
Primiano Tucci (use gerrit) 2015/06/23 13:52:07 Actually picksi@ had a better idea here about usin
+ }
picksi 2015/06/23 13:35:51 Apart from reversing the bytes, isn't this just th
+ return hash;
+}
+} // namespace
+
MemoryAllocatorDumpGuid::MemoryAllocatorDumpGuid(uint64 guid) : guid_(guid) {
}
@@ -19,7 +33,7 @@ MemoryAllocatorDumpGuid::MemoryAllocatorDumpGuid()
}
MemoryAllocatorDumpGuid::MemoryAllocatorDumpGuid(const std::string& guid_str)
- : MemoryAllocatorDumpGuid(Hash(guid_str)) {
+ : MemoryAllocatorDumpGuid(HashString(guid_str)) {
}
std::string MemoryAllocatorDumpGuid::ToString() const {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698