Index: test/cctest/test-profile-generator.cc |
diff --git a/test/cctest/test-profile-generator.cc b/test/cctest/test-profile-generator.cc |
index 56b1788a85132140bfeb0d7bea36479f0f0deb36..22b4e059a246993aa2bae921e16ed758377c23ee 100644 |
--- a/test/cctest/test-profile-generator.cc |
+++ b/test/cctest/test-profile-generator.cc |
@@ -85,8 +85,7 @@ TEST(TokenEnumerator) { |
TEST(ProfileNodeFindOrAddChild) { |
- ProfileTree tree; |
- ProfileNode node(&tree, NULL); |
+ ProfileNode node(NULL, NULL); |
CodeEntry entry1(i::Logger::FUNCTION_TAG, "", "aaa", "", 0, |
TokenEnumerator::kNoSecurityToken); |
ProfileNode* childNode1 = node.FindOrAddChild(&entry1); |
@@ -114,8 +113,7 @@ TEST(ProfileNodeFindOrAddChild) { |
TEST(ProfileNodeFindOrAddChildForSameFunction) { |
const char* empty = ""; |
const char* aaa = "aaa"; |
- ProfileTree tree; |
- ProfileNode node(&tree, NULL); |
+ ProfileNode node(NULL, NULL); |
CodeEntry entry1(i::Logger::FUNCTION_TAG, empty, aaa, empty, 0, |
TokenEnumerator::kNoSecurityToken); |
ProfileNode* childNode1 = node.FindOrAddChild(&entry1); |
@@ -609,7 +607,7 @@ class TestSetup { |
TEST(RecordTickSample) { |
TestSetup test_setup; |
CpuProfilesCollection profiles; |
- profiles.StartProfiling("", 1, false); |
+ profiles.StartProfiling("", 1); |
ProfileGenerator generator(&profiles); |
CodeEntry* entry1 = generator.NewCodeEntry(i::Logger::FUNCTION_TAG, "aaa"); |
CodeEntry* entry2 = generator.NewCodeEntry(i::Logger::FUNCTION_TAG, "bbb"); |
@@ -715,88 +713,6 @@ TEST(SampleRateCalculator) { |
} |
-static void CheckNodeIds(ProfileNode* node, int* expectedId) { |
- CHECK_EQ((*expectedId)++, node->id()); |
- for (int i = 0; i < node->children()->length(); i++) { |
- CheckNodeIds(node->children()->at(i), expectedId); |
- } |
-} |
- |
-TEST(SampleIds) { |
- TestSetup test_setup; |
- CpuProfilesCollection profiles; |
- profiles.StartProfiling("", 1, true); |
- ProfileGenerator generator(&profiles); |
- CodeEntry* entry1 = generator.NewCodeEntry(i::Logger::FUNCTION_TAG, "aaa"); |
- CodeEntry* entry2 = generator.NewCodeEntry(i::Logger::FUNCTION_TAG, "bbb"); |
- CodeEntry* entry3 = generator.NewCodeEntry(i::Logger::FUNCTION_TAG, "ccc"); |
- generator.code_map()->AddCode(ToAddress(0x1500), entry1, 0x200); |
- generator.code_map()->AddCode(ToAddress(0x1700), entry2, 0x100); |
- generator.code_map()->AddCode(ToAddress(0x1900), entry3, 0x50); |
- |
- // We are building the following calls tree: |
- // -> aaa #3 - sample1 |
- // (root)#1 -> aaa #2 -> bbb #4 -> ccc #5 - sample2 |
- // -> ccc #6 -> aaa #7 - sample3 |
- TickSample sample1; |
- sample1.pc = ToAddress(0x1600); |
- sample1.stack[0] = ToAddress(0x1510); |
- sample1.frames_count = 1; |
- generator.RecordTickSample(sample1); |
- TickSample sample2; |
- sample2.pc = ToAddress(0x1925); |
- sample2.stack[0] = ToAddress(0x1780); |
- sample2.stack[1] = ToAddress(0x10000); // non-existent. |
- sample2.stack[2] = ToAddress(0x1620); |
- sample2.frames_count = 3; |
- generator.RecordTickSample(sample2); |
- TickSample sample3; |
- sample3.pc = ToAddress(0x1510); |
- sample3.stack[0] = ToAddress(0x1910); |
- sample3.stack[1] = ToAddress(0x1610); |
- sample3.frames_count = 2; |
- generator.RecordTickSample(sample3); |
- |
- CpuProfile* profile = |
- profiles.StopProfiling(TokenEnumerator::kNoSecurityToken, "", 1); |
- int nodeId = 1; |
- CheckNodeIds(profile->top_down()->root(), &nodeId); |
- CHECK_EQ(7, nodeId - 1); |
- |
- CHECK_EQ(3, profile->samples_count()); |
- int expected_id[] = {3, 5, 7}; |
- for (int i = 0; i < 3; i++) { |
- CHECK_EQ(expected_id[i], profile->sample(i)->id()); |
- } |
-} |
- |
- |
-TEST(NoSamples) { |
- TestSetup test_setup; |
- CpuProfilesCollection profiles; |
- profiles.StartProfiling("", 1, false); |
- ProfileGenerator generator(&profiles); |
- CodeEntry* entry1 = generator.NewCodeEntry(i::Logger::FUNCTION_TAG, "aaa"); |
- generator.code_map()->AddCode(ToAddress(0x1500), entry1, 0x200); |
- |
- // We are building the following calls tree: |
- // (root)#1 -> aaa #2 -> aaa #3 - sample1 |
- TickSample sample1; |
- sample1.pc = ToAddress(0x1600); |
- sample1.stack[0] = ToAddress(0x1510); |
- sample1.frames_count = 1; |
- generator.RecordTickSample(sample1); |
- |
- CpuProfile* profile = |
- profiles.StopProfiling(TokenEnumerator::kNoSecurityToken, "", 1); |
- int nodeId = 1; |
- CheckNodeIds(profile->top_down()->root(), &nodeId); |
- CHECK_EQ(3, nodeId - 1); |
- |
- CHECK_EQ(0, profile->samples_count()); |
-} |
- |
- |
// --- P r o f i l e r E x t e n s i o n --- |
class ProfilerExtension : public v8::Extension { |
@@ -830,22 +746,20 @@ v8::Handle<v8::FunctionTemplate> ProfilerExtension::GetNativeFunction( |
v8::Handle<v8::Value> ProfilerExtension::StartProfiling( |
const v8::Arguments& args) { |
- v8::CpuProfiler* cpu_profiler = args.GetIsolate()->GetCpuProfiler(); |
if (args.Length() > 0) |
- cpu_profiler->StartCpuProfiling(args[0].As<v8::String>()); |
+ v8::CpuProfiler::StartProfiling(args[0].As<v8::String>()); |
else |
- cpu_profiler->StartCpuProfiling(v8::String::New("")); |
+ v8::CpuProfiler::StartProfiling(v8::String::New("")); |
return v8::Undefined(); |
} |
v8::Handle<v8::Value> ProfilerExtension::StopProfiling( |
const v8::Arguments& args) { |
- v8::CpuProfiler* cpu_profiler = args.GetIsolate()->GetCpuProfiler(); |
if (args.Length() > 0) |
- cpu_profiler->StopCpuProfiling(args[0].As<v8::String>()); |
+ v8::CpuProfiler::StopProfiling(args[0].As<v8::String>()); |
else |
- cpu_profiler->StopCpuProfiling(v8::String::New("")); |
+ v8::CpuProfiler::StopProfiling(v8::String::New("")); |
return v8::Undefined(); |
} |
@@ -878,16 +792,16 @@ TEST(RecordStackTraceAtStartProfiling) { |
v8::HandleScope scope(v8::Isolate::GetCurrent()); |
env->Enter(); |
- CpuProfiler* profiler = i::Isolate::Current()->cpu_profiler(); |
- CHECK_EQ(0, profiler->GetProfilesCount()); |
+ CHECK_EQ(0, CpuProfiler::GetProfilesCount()); |
CompileRun( |
"function c() { startProfiling(); }\n" |
"function b() { c(); }\n" |
"function a() { b(); }\n" |
"a();\n" |
"stopProfiling();"); |
- CHECK_EQ(1, profiler->GetProfilesCount()); |
- CpuProfile* profile = profiler->GetProfile(NULL, 0); |
+ CHECK_EQ(1, CpuProfiler::GetProfilesCount()); |
+ CpuProfile* profile = |
+ CpuProfiler::GetProfile(NULL, 0); |
const ProfileTree* topDown = profile->top_down(); |
const ProfileNode* current = topDown->root(); |
const_cast<ProfileNode*>(current)->Print(0); |
@@ -924,12 +838,11 @@ TEST(Issue51919) { |
for (int i = 0; i < CpuProfilesCollection::kMaxSimultaneousProfiles; ++i) { |
i::Vector<char> title = i::Vector<char>::New(16); |
i::OS::SNPrintF(title, "%d", i); |
- // UID must be > 0. |
- CHECK(collection.StartProfiling(title.start(), i + 1, false)); |
+ CHECK(collection.StartProfiling(title.start(), i + 1)); // UID must be > 0. |
titles[i] = title.start(); |
} |
CHECK(!collection.StartProfiling( |
- "maximum", CpuProfilesCollection::kMaxSimultaneousProfiles + 1, false)); |
+ "maximum", CpuProfilesCollection::kMaxSimultaneousProfiles + 1)); |
for (int i = 0; i < CpuProfilesCollection::kMaxSimultaneousProfiles; ++i) |
i::DeleteArray(titles[i]); |
} |