Reviewers: Mikhail Naganov (Chromium), Yury Semikhatsky, loislo,

Description:
Set object tags directly to the entry name in heap profiler.


Please review this at https://chromiumcodereview.appspot.com/10382106/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/profile-generator.h
  M src/profile-generator.cc


Index: src/profile-generator.cc
diff --git a/src/profile-generator.cc b/src/profile-generator.cc
index 3f4e935b04b6df12c987259b4c2dc1e071be1d73..b31b77b42f2d43762f7cb141a2f46167c743f140 100644
--- a/src/profile-generator.cc
+++ b/src/profile-generator.cc
@@ -1710,8 +1710,7 @@ HeapEntry* V8HeapExplorer::AddEntry(HeapObject* object) {
              object->IsFixedDoubleArray() ||
              object->IsByteArray() ||
              object->IsExternalArray()) {
-    const char* tag = objects_tags_.GetTag(object);
-    return AddEntry(object, HeapEntry::kArray, tag != NULL ? tag : "");
+    return AddEntry(object, HeapEntry::kArray, "");
   } else if (object->IsHeapNumber()) {
     return AddEntry(object, HeapEntry::kHeapNumber, "number");
   }
@@ -2635,7 +2634,10 @@ const char* V8HeapExplorer::GetStrongGcSubrootName(Object* object) {

 void V8HeapExplorer::TagObject(Object* obj, const char* tag) {
   if (IsEssentialObject(obj)) {
-    objects_tags_.SetTag(obj, tag);
+    HeapEntry* entry = GetEntry(obj);
+    if (entry->name()[0] == '\0') {
+      entry->set_name(tag);
+    }
   }
 }

Index: src/profile-generator.h
diff --git a/src/profile-generator.h b/src/profile-generator.h
index bc1fb42d8845c31453f5e74f7a23166ca871e933..92896c29e997a8e1dd22c06b2cbaf505a5df608e 100644
--- a/src/profile-generator.h
+++ b/src/profile-generator.h
@@ -526,6 +526,7 @@ class HeapEntry BASE_EMBEDDED {
   HeapSnapshot* snapshot() { return snapshot_; }
   Type type() { return static_cast<Type>(type_); }
   const char* name() { return name_; }
+  void set_name(const char* name) { name_ = name; }
   inline SnapshotObjectId id() { return id_; }
   int self_size() { return self_size_; }
   int retained_size() { return retained_size_; }


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to