Chromium Code Reviews| Index: test/cctest/test-cpu-profiler.cc |
| diff --git a/test/cctest/test-cpu-profiler.cc b/test/cctest/test-cpu-profiler.cc |
| index 6703ada05d3a5242a6d88118bfee5bb7f4d28011..5d3d61a645b1709c690d7a4f60b853f18d692407 100644 |
| --- a/test/cctest/test-cpu-profiler.cc |
| +++ b/test/cctest/test-cpu-profiler.cc |
| @@ -31,6 +31,7 @@ |
| #include "cpu-profiler-inl.h" |
| #include "cctest.h" |
| #include "platform.h" |
| +#include "profiler-extension.h" |
| #include "smart-pointers.h" |
| #include "utils.h" |
| #include "../include/v8-profiler.h" |
| @@ -332,16 +333,17 @@ TEST(DeleteAllCpuProfiles) { |
| } |
| -static const v8::CpuProfile* FindCpuProfile(v8::CpuProfiler* profiler, |
| - unsigned uid) { |
| - int length = profiler->GetProfileCount(); |
| +static bool FindCpuProfile(v8::CpuProfiler* v8profiler, |
| + const v8::CpuProfile* v8profile) { |
| + i::CpuProfiler* profiler = reinterpret_cast<i::CpuProfiler*>(v8profiler); |
| + const i::CpuProfile* profile = |
| + reinterpret_cast<const i::CpuProfile*>(v8profile); |
| + int length = profiler->GetProfilesCount(); |
| for (int i = 0; i < length; i++) { |
| - const v8::CpuProfile* profile = profiler->GetCpuProfile(i); |
| - if (profile->GetUid() == uid) { |
| - return profile; |
| - } |
| + if (profile == profiler->GetProfile(i)) |
| + return true; |
| } |
| - return NULL; |
| + return false; |
| } |
| @@ -349,46 +351,38 @@ TEST(DeleteCpuProfile) { |
| LocalContext env; |
| v8::HandleScope scope(env->GetIsolate()); |
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| + i::CpuProfiler* iprofiler = reinterpret_cast<i::CpuProfiler*>(cpu_profiler); |
| - CHECK_EQ(0, cpu_profiler->GetProfileCount()); |
| + CHECK_EQ(0, iprofiler->GetProfilesCount()); |
| v8::Local<v8::String> name1 = v8::String::NewFromUtf8(env->GetIsolate(), "1"); |
| cpu_profiler->StartCpuProfiling(name1); |
| const v8::CpuProfile* p1 = cpu_profiler->StopCpuProfiling(name1); |
| CHECK_NE(NULL, p1); |
| - CHECK_EQ(1, cpu_profiler->GetProfileCount()); |
| - unsigned uid1 = p1->GetUid(); |
| - CHECK_EQ(p1, FindCpuProfile(cpu_profiler, uid1)); |
| + CHECK_EQ(1, iprofiler->GetProfilesCount()); |
| + CHECK(FindCpuProfile(cpu_profiler, p1)); |
| const_cast<v8::CpuProfile*>(p1)->Delete(); |
| - CHECK_EQ(0, cpu_profiler->GetProfileCount()); |
| - CHECK_EQ(NULL, FindCpuProfile(cpu_profiler, uid1)); |
| + CHECK_EQ(0, iprofiler->GetProfilesCount()); |
| v8::Local<v8::String> name2 = v8::String::NewFromUtf8(env->GetIsolate(), "2"); |
| cpu_profiler->StartCpuProfiling(name2); |
| const v8::CpuProfile* p2 = cpu_profiler->StopCpuProfiling(name2); |
| CHECK_NE(NULL, p2); |
| - CHECK_EQ(1, cpu_profiler->GetProfileCount()); |
| - unsigned uid2 = p2->GetUid(); |
| - CHECK_NE(static_cast<int>(uid1), static_cast<int>(uid2)); |
| - CHECK_EQ(p2, FindCpuProfile(cpu_profiler, uid2)); |
| - CHECK_EQ(NULL, FindCpuProfile(cpu_profiler, uid1)); |
| + CHECK_EQ(1, iprofiler->GetProfilesCount()); |
| + CHECK(FindCpuProfile(cpu_profiler, p2)); |
| v8::Local<v8::String> name3 = v8::String::NewFromUtf8(env->GetIsolate(), "3"); |
| cpu_profiler->StartCpuProfiling(name3); |
| const v8::CpuProfile* p3 = cpu_profiler->StopCpuProfiling(name3); |
| CHECK_NE(NULL, p3); |
| - CHECK_EQ(2, cpu_profiler->GetProfileCount()); |
| - unsigned uid3 = p3->GetUid(); |
| - CHECK_NE(static_cast<int>(uid1), static_cast<int>(uid3)); |
| - CHECK_EQ(p3, FindCpuProfile(cpu_profiler, uid3)); |
| - CHECK_EQ(NULL, FindCpuProfile(cpu_profiler, uid1)); |
| + CHECK_EQ(2, iprofiler->GetProfilesCount()); |
| + CHECK_NE(p2, p3); |
| + CHECK(FindCpuProfile(cpu_profiler, p3)); |
| + CHECK(FindCpuProfile(cpu_profiler, p2)); |
| const_cast<v8::CpuProfile*>(p2)->Delete(); |
|
alph
2013/12/17 16:20:17
What's ProfilerExtension::last_profile at this poi
yurys
2013/12/18 07:26:19
I don't care as ProfilerExtension::last_profile is
|
| - CHECK_EQ(1, cpu_profiler->GetProfileCount()); |
| - CHECK_EQ(NULL, FindCpuProfile(cpu_profiler, uid2)); |
| - CHECK_EQ(p3, FindCpuProfile(cpu_profiler, uid3)); |
| + CHECK_EQ(1, iprofiler->GetProfilesCount()); |
| + CHECK(!FindCpuProfile(cpu_profiler, p2)); |
| + CHECK(FindCpuProfile(cpu_profiler, p3)); |
| const_cast<v8::CpuProfile*>(p3)->Delete(); |
| - CHECK_EQ(0, cpu_profiler->GetProfileCount()); |
| - CHECK_EQ(NULL, FindCpuProfile(cpu_profiler, uid3)); |
| - CHECK_EQ(NULL, FindCpuProfile(cpu_profiler, uid2)); |
| - CHECK_EQ(NULL, FindCpuProfile(cpu_profiler, uid1)); |
| + CHECK_EQ(0, iprofiler->GetProfilesCount()); |
|
alph
2013/12/17 16:20:17
Mind to check here that ProfilerExtension::last_pr
yurys
2013/12/18 07:26:19
Why should I? We didn't use ProfilerExtension here
|
| } |
| @@ -589,8 +583,7 @@ TEST(CollectCpuProfile) { |
| CheckSimpleBranch(env->GetIsolate(), fooNode, delayBranch, |
| ARRAY_SIZE(delayBranch)); |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -657,8 +650,7 @@ TEST(SampleWhenFrameIsNotSetup) { |
| } |
| } |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -759,8 +751,7 @@ TEST(NativeAccessorUninitializedIC) { |
| GetChild(env->GetIsolate(), startNode, "get foo"); |
| GetChild(env->GetIsolate(), startNode, "set foo"); |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -814,8 +805,7 @@ TEST(NativeAccessorMonomorphicIC) { |
| GetChild(env->GetIsolate(), startNode, "get foo"); |
| GetChild(env->GetIsolate(), startNode, "set foo"); |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -865,8 +855,7 @@ TEST(NativeMethodUninitializedIC) { |
| GetChild(env->GetIsolate(), root, "start"); |
| GetChild(env->GetIsolate(), startNode, "fooMethod"); |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -919,8 +908,7 @@ TEST(NativeMethodMonomorphicIC) { |
| GetChild(env->GetIsolate(), root, "start"); |
| GetChild(env->GetIsolate(), startNode, "fooMethod"); |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -967,8 +955,7 @@ TEST(BoundFunctionCall) { |
| GetChild(env->GetIsolate(), root, "start"); |
| GetChild(env->GetIsolate(), startNode, "foo"); |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -1049,8 +1036,7 @@ TEST(FunctionCallSample) { |
| CheckChildrenNames(unresolvedNode, names); |
| } |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -1137,8 +1123,7 @@ TEST(FunctionApplySample) { |
| } |
| } |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -1226,8 +1211,7 @@ TEST(JsNativeJsSample) { |
| CHECK_EQ(1, barNode->GetChildrenCount()); |
| GetChild(env->GetIsolate(), barNode, "foo"); |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -1309,8 +1293,7 @@ TEST(JsNativeJsRuntimeJsSample) { |
| CHECK_EQ(1, barNode->GetChildrenCount()); |
| GetChild(env->GetIsolate(), barNode, "foo"); |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -1407,8 +1390,7 @@ TEST(JsNative1JsNative2JsSample) { |
| CHECK_EQ(1, nativeNode2->GetChildrenCount()); |
| GetChild(env->GetIsolate(), nativeNode2, "foo"); |
| - v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler(); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -1465,7 +1447,7 @@ TEST(IdleTime) { |
| CHECK_EQ(0, idleNode->GetChildrenCount()); |
| CHECK_GE(idleNode->GetHitCount(), 3); |
| - cpu_profiler->DeleteAllCpuProfiles(); |
| + const_cast<v8::CpuProfile*>(profile)->Delete(); |
| } |
| @@ -1489,8 +1471,6 @@ TEST(FunctionDetails) { |
| LocalContext env(&config); |
| v8::HandleScope handleScope(env->GetIsolate()); |
| - v8::CpuProfiler* profiler = env->GetIsolate()->GetCpuProfiler(); |
| - CHECK_EQ(0, profiler->GetProfileCount()); |
| v8::Handle<v8::Script> script_a = v8::Script::Compile( |
| v8::String::NewFromUtf8( |
| env->GetIsolate(), |
| @@ -1506,8 +1486,7 @@ TEST(FunctionDetails) { |
| "stopProfiling();\n"), |
| v8::String::NewFromUtf8(env->GetIsolate(), "script_b")); |
| script_b->Run(); |
| - CHECK_EQ(1, profiler->GetProfileCount()); |
| - const v8::CpuProfile* profile = profiler->GetCpuProfile(0); |
| + const v8::CpuProfile* profile = ProfilerExtension::last_profile; |
| const v8::CpuProfileNode* current = profile->GetTopDownRoot(); |
| reinterpret_cast<ProfileNode*>( |
| const_cast<v8::CpuProfileNode*>(current))->Print(0); |
| @@ -1543,27 +1522,28 @@ TEST(DontStopOnFinishedProfileDelete) { |
| v8::HandleScope handleScope(isolate); |
| v8::CpuProfiler* profiler = env->GetIsolate()->GetCpuProfiler(); |
| + i::CpuProfiler* iprofiler = reinterpret_cast<i::CpuProfiler*>(profiler); |
| - CHECK_EQ(0, profiler->GetProfileCount()); |
| + CHECK_EQ(0, iprofiler->GetProfilesCount()); |
| v8::Handle<v8::String> outer = v8::String::NewFromUtf8(isolate, "outer"); |
| profiler->StartCpuProfiling(outer); |
| - CHECK_EQ(0, profiler->GetProfileCount()); |
| + CHECK_EQ(0, iprofiler->GetProfilesCount()); |
| v8::Handle<v8::String> inner = v8::String::NewFromUtf8(isolate, "inner"); |
| profiler->StartCpuProfiling(inner); |
| - CHECK_EQ(0, profiler->GetProfileCount()); |
| + CHECK_EQ(0, iprofiler->GetProfilesCount()); |
| const v8::CpuProfile* inner_profile = profiler->StopCpuProfiling(inner); |
| CHECK(inner_profile); |
| - CHECK_EQ(1, profiler->GetProfileCount()); |
| + CHECK_EQ(1, iprofiler->GetProfilesCount()); |
| const_cast<v8::CpuProfile*>(inner_profile)->Delete(); |
| inner_profile = NULL; |
| - CHECK_EQ(0, profiler->GetProfileCount()); |
| + CHECK_EQ(0, iprofiler->GetProfilesCount()); |
| const v8::CpuProfile* outer_profile = profiler->StopCpuProfiling(outer); |
| CHECK(outer_profile); |
| - CHECK_EQ(1, profiler->GetProfileCount()); |
| + CHECK_EQ(1, iprofiler->GetProfilesCount()); |
| const_cast<v8::CpuProfile*>(outer_profile)->Delete(); |
| outer_profile = NULL; |
| - CHECK_EQ(0, profiler->GetProfileCount()); |
| + CHECK_EQ(0, iprofiler->GetProfilesCount()); |
| } |