Revision: 5568
Author: mikhail.naga...@gmail.com
Date: Thu Sep 30 05:35:03 2010
Log: Revert last commit due to check fail on Linux.
http://code.google.com/p/v8/source/detail?r=5568
Modified:
/branches/bleeding_edge/src/profile-generator.cc
/branches/bleeding_edge/src/profile-generator.h
/branches/bleeding_edge/test/cctest/cctest.status
/branches/bleeding_edge/test/cctest/test-heap-profiler.cc
=======================================
--- /branches/bleeding_edge/src/profile-generator.cc Thu Sep 30 05:24:56
2010
+++ /branches/bleeding_edge/src/profile-generator.cc Thu Sep 30 05:35:03
2010
@@ -952,8 +952,8 @@
void HeapEntry::Print(int max_depth, int indent) {
- OS::Print("%6d %6d %6d [%llu, %d] ",
- self_size(), ReachableSize(), RetainedSize(), id_, painted_);
+ OS::Print("%6d %6d %6d [%ld] ",
+ self_size(), ReachableSize(), RetainedSize(), id_);
if (type() != kString) {
OS::Print("%s %.40s\n", TypeAsString(), name_);
} else {
@@ -1237,7 +1237,7 @@
type_(type),
title_(title),
uid_(uid),
- root_entry_(NULL),
+ root_entry_index_(-1),
raw_entries_(NULL),
entries_sorted_(false) {
STATIC_ASSERT(
@@ -1276,11 +1276,11 @@
int children_count,
int retainers_count) {
if (object == kInternalRootObject) {
- ASSERT(root_entry_ == NULL);
+ ASSERT(root_entry_index_ == -1);
+ root_entry_index_ = entries_.length();
ASSERT(retainers_count == 0);
- root_entry_ = AddEntry(
+ return AddEntry(
HeapEntry::kInternal, "", 0, 0, children_count, retainers_count);
- return root_entry_;
} else if (object->IsJSFunction()) {
JSFunction* func = JSFunction::cast(object);
SharedFunctionInfo* shared = func->shared();
=======================================
--- /branches/bleeding_edge/src/profile-generator.h Thu Sep 30 05:24:56 2010
+++ /branches/bleeding_edge/src/profile-generator.h Thu Sep 30 05:35:03 2010
@@ -662,7 +662,7 @@
Type type() { return type_; }
const char* title() { return title_; }
unsigned uid() { return uid_; }
- HeapEntry* root() { return root_entry_; }
+ HeapEntry* root() { return entries_[root_entry_index_]; }
void AllocateEntries(
int entries_count, int children_count, int retainers_count);
@@ -704,7 +704,7 @@
Type type_;
const char* title_;
unsigned uid_;
- HeapEntry* root_entry_;
+ int root_entry_index_;
char* raw_entries_;
List<HeapEntry*> entries_;
bool entries_sorted_;
=======================================
--- /branches/bleeding_edge/test/cctest/cctest.status Thu Sep 30 05:24:56
2010
+++ /branches/bleeding_edge/test/cctest/cctest.status Thu Sep 30 05:35:03
2010
@@ -35,6 +35,11 @@
# BUG(382): Weird test. Can't guarantee that it never times out.
test-api/ApplyInterruption: PASS || TIMEOUT
+# Bug (484): This test which we thought was originally corrected in r5236
+# is reappering. Disabled until bug in test is fixed. This only fails
+# when snapshot is on, so I am marking it PASS || FAIL
+test-heap-profiler/HeapSnapshotsDiff: PASS || FAIL
+
# These tests always fail. They are here to test test.py. If
# they don't fail then test.py has failed.
test-serialize/TestThatAlwaysFails: FAIL
=======================================
--- /branches/bleeding_edge/test/cctest/test-heap-profiler.cc Thu Sep 30
05:24:56 2010
+++ /branches/bleeding_edge/test/cctest/test-heap-profiler.cc Thu Sep 30
05:35:03 2010
@@ -787,7 +787,6 @@
CompileAndRunScript(
"function A() {}\n"
"function B(x) { this.x = x; }\n"
- "function A2(a) { for (var i = 0; i < a; ++i) this[i] = i; }\n"
"var a = new A();\n"
"var b = new B(a);");
const v8::HeapSnapshot* snapshot1 =
@@ -796,7 +795,7 @@
CompileAndRunScript(
"delete a;\n"
"b.x = null;\n"
- "var a = new A2(20);\n"
+ "var a = new A();\n"
"var b2 = new B(a);");
const v8::HeapSnapshot* snapshot2 =
v8::HeapProfiler::TakeSnapshot(v8::String::New("s2"));
@@ -812,7 +811,7 @@
const v8::HeapGraphNode* node = prop->GetToNode();
if (node->GetType() == v8::HeapGraphNode::kObject) {
v8::String::AsciiValue node_name(node->GetName());
- if (strcmp(*node_name, "A2") == 0) {
+ if (strcmp(*node_name, "A") == 0) {
CHECK(IsNodeRetainedAs(node, v8::HeapGraphEdge::kProperty, "a"));
CHECK(!found_A);
found_A = true;
@@ -848,19 +847,6 @@
CHECK_NE_UINT64_T(0, s1_A_id);
CHECK(s1_A_id != s2_A_id);
}
-
-
-TEST(HeapSnapshotRootPreservedAfterSorting) {
- v8::HandleScope scope;
- LocalContext env;
- const v8::HeapSnapshot* snapshot =
- v8::HeapProfiler::TakeSnapshot(v8::String::New("s"));
- const v8::HeapGraphNode* root1 = snapshot->GetRoot();
- const_cast<i::HeapSnapshot*>(reinterpret_cast<const i::HeapSnapshot*>(
- snapshot))->GetSortedEntriesList();
- const v8::HeapGraphNode* root2 = snapshot->GetRoot();
- CHECK_EQ(root1, root2);
-}
namespace v8 {
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev