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

Description:
Add missing named fields to SharedFunctionInfo in heap snapshot.


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

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

Affected files:
  M src/profile-generator.cc


Index: src/profile-generator.cc
diff --git a/src/profile-generator.cc b/src/profile-generator.cc
index 256136d9f19923d08f145e5091d463714b6fd83c..ac0829933843c6533e82be86752593f44686d6d6 100644
--- a/src/profile-generator.cc
+++ b/src/profile-generator.cc
@@ -2024,6 +2024,7 @@ void V8HeapExplorer::ExtractReferences(HeapObject* obj) {
                            bound ? "bindings" : "literals",
                            js_fun->literals_or_bindings(),
                            JSFunction::kLiteralsOffset);
+      TagObject(shared_info, "(shared function info)");
       SetInternalReference(js_fun, entry,
                            "shared", shared_info,
                            JSFunction::kSharedFunctionInfoOffset);
@@ -2095,6 +2096,7 @@ void V8HeapExplorer::ExtractReferences(HeapObject* obj) {
     SetInternalReference(obj, entry,
                          "name", shared->name(),
                          SharedFunctionInfo::kNameOffset);
+    TagObject(shared->unchecked_code(), "(code)");
     SetInternalReference(obj, entry,
                          "code", shared->unchecked_code(),
                          SharedFunctionInfo::kCodeOffset);
@@ -2108,6 +2110,23 @@ void V8HeapExplorer::ExtractReferences(HeapObject* obj) {
     SetInternalReference(obj, entry,
                          "script", shared->script(),
                          SharedFunctionInfo::kScriptOffset);
+    TagObject(shared->construct_stub(), "(code)");
+    SetInternalReference(obj, entry,
+                         "construct_stub", shared->construct_stub(),
+                         SharedFunctionInfo::kConstructStubOffset);
+    SetInternalReference(obj, entry,
+                         "function_data", shared->function_data(),
+                         SharedFunctionInfo::kFunctionDataOffset);
+    SetInternalReference(obj, entry,
+                         "debug_info", shared->debug_info(),
+                         SharedFunctionInfo::kDebugInfoOffset);
+    SetInternalReference(obj, entry,
+                         "inferred_name", shared->inferred_name(),
+                         SharedFunctionInfo::kInferredNameOffset);
+    SetInternalReference(obj, entry,
+                         "this_property_assignments",
+                         shared->this_property_assignments(),
+ SharedFunctionInfo::kThisPropertyAssignmentsOffset);
     SetWeakReference(obj, entry,
                      1, shared->initial_map(),
                      SharedFunctionInfo::kInitialMapOffset);


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

Reply via email to