| Index: test/cctest/test-cpu-profiler.cc
|
| diff --git a/test/cctest/test-cpu-profiler.cc b/test/cctest/test-cpu-profiler.cc
|
| index 33444ead8f25c3aa862ace864ccbfa06b3f8d4b9..c847afcc2708a0f4dec257759b35483edb464968 100644
|
| --- a/test/cctest/test-cpu-profiler.cc
|
| +++ b/test/cctest/test-cpu-profiler.cc
|
| @@ -355,7 +355,7 @@ TEST(DeleteCpuProfile) {
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
|
|
| CHECK_EQ(0, cpu_profiler->GetProfileCount());
|
| - v8::Local<v8::String> name1 = v8::String::New("1");
|
| + 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);
|
| @@ -366,7 +366,7 @@ TEST(DeleteCpuProfile) {
|
| CHECK_EQ(0, cpu_profiler->GetProfileCount());
|
| CHECK_EQ(NULL, FindCpuProfile(cpu_profiler, uid1));
|
|
|
| - v8::Local<v8::String> name2 = v8::String::New("2");
|
| + 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);
|
| @@ -375,7 +375,7 @@ TEST(DeleteCpuProfile) {
|
| CHECK_NE(static_cast<int>(uid1), static_cast<int>(uid2));
|
| CHECK_EQ(p2, FindCpuProfile(cpu_profiler, uid2));
|
| CHECK_EQ(NULL, FindCpuProfile(cpu_profiler, uid1));
|
| - v8::Local<v8::String> name3 = v8::String::New("3");
|
| + 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);
|
| @@ -401,7 +401,8 @@ TEST(ProfileStartEndTime) {
|
| v8::HandleScope scope(env->GetIsolate());
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
|
|
| - v8::Local<v8::String> profile_name = v8::String::New("test");
|
| + v8::Local<v8::String> profile_name =
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "test");
|
| cpu_profiler->StartCpuProfiling(profile_name);
|
| const v8::CpuProfile* profile = cpu_profiler->StopCpuProfiling(profile_name);
|
| CHECK(profile->GetStartTime() <= profile->GetEndTime());
|
| @@ -413,7 +414,8 @@ static const v8::CpuProfile* RunProfiler(
|
| v8::Handle<v8::Value> argv[], int argc,
|
| unsigned min_js_samples) {
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
| - v8::Local<v8::String> profile_name = v8::String::New("my_profile");
|
| + v8::Local<v8::String> profile_name =
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "my_profile");
|
|
|
| cpu_profiler->StartCpuProfiling(profile_name);
|
|
|
| @@ -460,10 +462,11 @@ static void CheckChildrenNames(const v8::CpuProfileNode* node,
|
| }
|
|
|
|
|
| -static const v8::CpuProfileNode* FindChild(const v8::CpuProfileNode* node,
|
| +static const v8::CpuProfileNode* FindChild(v8::Isolate* isolate,
|
| + const v8::CpuProfileNode* node,
|
| const char* name) {
|
| int count = node->GetChildrenCount();
|
| - v8::Handle<v8::String> nameHandle = v8::String::New(name);
|
| + v8::Handle<v8::String> nameHandle = v8::String::NewFromUtf8(isolate, name);
|
| for (int i = 0; i < count; i++) {
|
| const v8::CpuProfileNode* child = node->GetChild(i);
|
| if (nameHandle->Equals(child->GetFunctionName())) return child;
|
| @@ -472,9 +475,10 @@ static const v8::CpuProfileNode* FindChild(const v8::CpuProfileNode* node,
|
| }
|
|
|
|
|
| -static const v8::CpuProfileNode* GetChild(const v8::CpuProfileNode* node,
|
| +static const v8::CpuProfileNode* GetChild(v8::Isolate* isolate,
|
| + const v8::CpuProfileNode* node,
|
| const char* name) {
|
| - const v8::CpuProfileNode* result = FindChild(node, name);
|
| + const v8::CpuProfileNode* result = FindChild(isolate, node, name);
|
| if (!result) {
|
| char buffer[100];
|
| i::OS::SNPrintF(Vector<char>(buffer, ARRAY_SIZE(buffer)),
|
| @@ -485,11 +489,12 @@ static const v8::CpuProfileNode* GetChild(const v8::CpuProfileNode* node,
|
| }
|
|
|
|
|
| -static void CheckSimpleBranch(const v8::CpuProfileNode* node,
|
| +static void CheckSimpleBranch(v8::Isolate* isolate,
|
| + const v8::CpuProfileNode* node,
|
| const char* names[], int length) {
|
| for (int i = 0; i < length; i++) {
|
| const char* name = names[i];
|
| - node = GetChild(node, name);
|
| + node = GetChild(isolate, node, name);
|
| int expectedChildrenCount = (i == length - 1) ? 0 : 1;
|
| CHECK_EQ(expectedChildrenCount, node->GetChildrenCount());
|
| }
|
| @@ -549,9 +554,10 @@ TEST(CollectCpuProfile) {
|
| LocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
|
|
| - v8::Script::Compile(v8::String::New(cpu_profiler_test_source))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + cpu_profiler_test_source))->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| int32_t profiling_interval_ms = 200;
|
| v8::Handle<v8::Value> args[] = { v8::Integer::New(profiling_interval_ms) };
|
| @@ -562,23 +568,30 @@ TEST(CollectCpuProfile) {
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
|
|
| ScopedVector<v8::Handle<v8::String> > names(3);
|
| - names[0] = v8::String::New(ProfileGenerator::kGarbageCollectorEntryName);
|
| - names[1] = v8::String::New(ProfileGenerator::kProgramEntryName);
|
| - names[2] = v8::String::New("start");
|
| + names[0] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), ProfileGenerator::kGarbageCollectorEntryName);
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + ProfileGenerator::kProgramEntryName);
|
| + names[2] = v8::String::NewFromUtf8(env->GetIsolate(), "start");
|
| CheckChildrenNames(root, names);
|
|
|
| - const v8::CpuProfileNode* startNode = GetChild(root, "start");
|
| + const v8::CpuProfileNode* startNode =
|
| + GetChild(env->GetIsolate(), root, "start");
|
| CHECK_EQ(1, startNode->GetChildrenCount());
|
|
|
| - const v8::CpuProfileNode* fooNode = GetChild(startNode, "foo");
|
| + const v8::CpuProfileNode* fooNode =
|
| + GetChild(env->GetIsolate(), startNode, "foo");
|
| CHECK_EQ(3, fooNode->GetChildrenCount());
|
|
|
| const char* barBranch[] = { "bar", "delay", "loop" };
|
| - CheckSimpleBranch(fooNode, barBranch, ARRAY_SIZE(barBranch));
|
| + CheckSimpleBranch(env->GetIsolate(), fooNode, barBranch,
|
| + ARRAY_SIZE(barBranch));
|
| const char* bazBranch[] = { "baz", "delay", "loop" };
|
| - CheckSimpleBranch(fooNode, bazBranch, ARRAY_SIZE(bazBranch));
|
| + CheckSimpleBranch(env->GetIsolate(), fooNode, bazBranch,
|
| + ARRAY_SIZE(bazBranch));
|
| const char* delayBranch[] = { "delay", "loop" };
|
| - CheckSimpleBranch(fooNode, delayBranch, ARRAY_SIZE(delayBranch));
|
| + CheckSimpleBranch(env->GetIsolate(), fooNode, delayBranch,
|
| + ARRAY_SIZE(delayBranch));
|
|
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
| cpu_profiler->DeleteAllCpuProfiles();
|
| @@ -610,9 +623,10 @@ TEST(SampleWhenFrameIsNotSetup) {
|
| LocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
|
|
| - v8::Script::Compile(v8::String::New(cpu_profiler_test_source2))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(
|
| + env->GetIsolate(), cpu_profiler_test_source2))->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| int32_t repeat_count = 100;
|
| #if defined(USE_SIMULATOR)
|
| @@ -626,20 +640,24 @@ TEST(SampleWhenFrameIsNotSetup) {
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
|
|
| ScopedVector<v8::Handle<v8::String> > names(3);
|
| - names[0] = v8::String::New(ProfileGenerator::kGarbageCollectorEntryName);
|
| - names[1] = v8::String::New(ProfileGenerator::kProgramEntryName);
|
| - names[2] = v8::String::New("start");
|
| + names[0] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), ProfileGenerator::kGarbageCollectorEntryName);
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + ProfileGenerator::kProgramEntryName);
|
| + names[2] = v8::String::NewFromUtf8(env->GetIsolate(), "start");
|
| CheckChildrenNames(root, names);
|
|
|
| - const v8::CpuProfileNode* startNode = FindChild(root, "start");
|
| + const v8::CpuProfileNode* startNode =
|
| + FindChild(env->GetIsolate(), root, "start");
|
| // On slow machines there may be no meaningfull samples at all, skip the
|
| // check there.
|
| if (startNode && startNode->GetChildrenCount() > 0) {
|
| CHECK_EQ(1, startNode->GetChildrenCount());
|
| - const v8::CpuProfileNode* delayNode = GetChild(startNode, "delay");
|
| + const v8::CpuProfileNode* delayNode =
|
| + GetChild(env->GetIsolate(), startNode, "delay");
|
| if (delayNode->GetChildrenCount() > 0) {
|
| CHECK_EQ(1, delayNode->GetChildrenCount());
|
| - GetChild(delayNode, "loop");
|
| + GetChild(env->GetIsolate(), delayNode, "loop");
|
| }
|
| }
|
|
|
| @@ -721,15 +739,18 @@ TEST(NativeAccessorUninitializedIC) {
|
| v8::Local<v8::External> data =
|
| v8::External::New(env->GetIsolate(), &accessors);
|
| instance_template->SetAccessor(
|
| - v8::String::New("foo"), &TestApiCallbacks::Getter,
|
| - &TestApiCallbacks::Setter, data);
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "foo"),
|
| + &TestApiCallbacks::Getter, &TestApiCallbacks::Setter, data);
|
| v8::Local<v8::Function> func = func_template->GetFunction();
|
| v8::Local<v8::Object> instance = func->NewInstance();
|
| - env->Global()->Set(v8::String::New("instance"), instance);
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "instance"),
|
| + instance);
|
|
|
| - v8::Script::Compile(v8::String::New(native_accessor_test_source))->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), native_accessor_test_source))
|
| + ->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| int32_t repeat_count = 1;
|
| v8::Handle<v8::Value> args[] = { v8::Integer::New(repeat_count) };
|
| @@ -737,9 +758,10 @@ TEST(NativeAccessorUninitializedIC) {
|
| RunProfiler(env, function, args, ARRAY_SIZE(args), 180);
|
|
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| - const v8::CpuProfileNode* startNode = GetChild(root, "start");
|
| - GetChild(startNode, "get foo");
|
| - GetChild(startNode, "set foo");
|
| + const v8::CpuProfileNode* startNode =
|
| + GetChild(env->GetIsolate(), root, "start");
|
| + GetChild(env->GetIsolate(), startNode, "get foo");
|
| + GetChild(env->GetIsolate(), startNode, "set foo");
|
|
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
| cpu_profiler->DeleteAllCpuProfiles();
|
| @@ -762,15 +784,18 @@ TEST(NativeAccessorMonomorphicIC) {
|
| v8::Local<v8::External> data =
|
| v8::External::New(env->GetIsolate(), &accessors);
|
| instance_template->SetAccessor(
|
| - v8::String::New("foo"), &TestApiCallbacks::Getter,
|
| - &TestApiCallbacks::Setter, data);
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "foo"),
|
| + &TestApiCallbacks::Getter, &TestApiCallbacks::Setter, data);
|
| v8::Local<v8::Function> func = func_template->GetFunction();
|
| v8::Local<v8::Object> instance = func->NewInstance();
|
| - env->Global()->Set(v8::String::New("instance"), instance);
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "instance"),
|
| + instance);
|
|
|
| - v8::Script::Compile(v8::String::New(native_accessor_test_source))->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), native_accessor_test_source))
|
| + ->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| {
|
| // Make sure accessors ICs are in monomorphic state before starting
|
| @@ -788,9 +813,10 @@ TEST(NativeAccessorMonomorphicIC) {
|
| RunProfiler(env, function, args, ARRAY_SIZE(args), 200);
|
|
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| - const v8::CpuProfileNode* startNode = GetChild(root, "start");
|
| - GetChild(startNode, "get foo");
|
| - GetChild(startNode, "set foo");
|
| + const v8::CpuProfileNode* startNode =
|
| + GetChild(env->GetIsolate(), root, "start");
|
| + GetChild(env->GetIsolate(), startNode, "get foo");
|
| + GetChild(env->GetIsolate(), startNode, "set foo");
|
|
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
| cpu_profiler->DeleteAllCpuProfiles();
|
| @@ -813,20 +839,24 @@ TEST(NativeMethodUninitializedIC) {
|
| v8::External::New(env->GetIsolate(), &callbacks);
|
|
|
| v8::Local<v8::FunctionTemplate> func_template = v8::FunctionTemplate::New();
|
| - func_template->SetClassName(v8::String::New("Test_InstanceCostructor"));
|
| + func_template->SetClassName(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "Test_InstanceCostructor"));
|
| v8::Local<v8::ObjectTemplate> proto_template =
|
| func_template->PrototypeTemplate();
|
| v8::Local<v8::Signature> signature = v8::Signature::New(func_template);
|
| - proto_template->Set(v8::String::New("fooMethod"), v8::FunctionTemplate::New(
|
| - &TestApiCallbacks::Callback, data, signature, 0));
|
| + proto_template->Set(v8::String::NewFromUtf8(env->GetIsolate(), "fooMethod"),
|
| + v8::FunctionTemplate::New(&TestApiCallbacks::Callback,
|
| + data, signature, 0));
|
|
|
| v8::Local<v8::Function> func = func_template->GetFunction();
|
| v8::Local<v8::Object> instance = func->NewInstance();
|
| - env->Global()->Set(v8::String::New("instance"), instance);
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "instance"),
|
| + instance);
|
|
|
| - v8::Script::Compile(v8::String::New(native_method_test_source))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(
|
| + env->GetIsolate(), native_method_test_source))->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| int32_t repeat_count = 1;
|
| v8::Handle<v8::Value> args[] = { v8::Integer::New(repeat_count) };
|
| @@ -834,8 +864,9 @@ TEST(NativeMethodUninitializedIC) {
|
| RunProfiler(env, function, args, ARRAY_SIZE(args), 100);
|
|
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| - const v8::CpuProfileNode* startNode = GetChild(root, "start");
|
| - GetChild(startNode, "fooMethod");
|
| + const v8::CpuProfileNode* startNode =
|
| + GetChild(env->GetIsolate(), root, "start");
|
| + GetChild(env->GetIsolate(), startNode, "fooMethod");
|
|
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
| cpu_profiler->DeleteAllCpuProfiles();
|
| @@ -851,20 +882,24 @@ TEST(NativeMethodMonomorphicIC) {
|
| v8::External::New(env->GetIsolate(), &callbacks);
|
|
|
| v8::Local<v8::FunctionTemplate> func_template = v8::FunctionTemplate::New();
|
| - func_template->SetClassName(v8::String::New("Test_InstanceCostructor"));
|
| + func_template->SetClassName(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "Test_InstanceCostructor"));
|
| v8::Local<v8::ObjectTemplate> proto_template =
|
| func_template->PrototypeTemplate();
|
| v8::Local<v8::Signature> signature = v8::Signature::New(func_template);
|
| - proto_template->Set(v8::String::New("fooMethod"), v8::FunctionTemplate::New(
|
| - &TestApiCallbacks::Callback, data, signature, 0));
|
| + proto_template->Set(v8::String::NewFromUtf8(env->GetIsolate(), "fooMethod"),
|
| + v8::FunctionTemplate::New(&TestApiCallbacks::Callback,
|
| + data, signature, 0));
|
|
|
| v8::Local<v8::Function> func = func_template->GetFunction();
|
| v8::Local<v8::Object> instance = func->NewInstance();
|
| - env->Global()->Set(v8::String::New("instance"), instance);
|
| + env->Global()->Set(v8::String::NewFromUtf8(env->GetIsolate(), "instance"),
|
| + instance);
|
|
|
| - v8::Script::Compile(v8::String::New(native_method_test_source))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(
|
| + env->GetIsolate(), native_method_test_source))->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
| {
|
| // Make sure method ICs are in monomorphic state before starting
|
| // profiling.
|
| @@ -881,9 +916,10 @@ TEST(NativeMethodMonomorphicIC) {
|
| RunProfiler(env, function, args, ARRAY_SIZE(args), 100);
|
|
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| - GetChild(root, "start");
|
| - const v8::CpuProfileNode* startNode = GetChild(root, "start");
|
| - GetChild(startNode, "fooMethod");
|
| + GetChild(env->GetIsolate(), root, "start");
|
| + const v8::CpuProfileNode* startNode =
|
| + GetChild(env->GetIsolate(), root, "start");
|
| + GetChild(env->GetIsolate(), startNode, "fooMethod");
|
|
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
| cpu_profiler->DeleteAllCpuProfiles();
|
| @@ -908,9 +944,11 @@ TEST(BoundFunctionCall) {
|
| LocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
|
|
| - v8::Script::Compile(v8::String::New(bound_function_test_source))->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), bound_function_test_source))
|
| + ->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| int32_t duration_ms = 100;
|
| v8::Handle<v8::Value> args[] = { v8::Integer::New(duration_ms) };
|
| @@ -919,14 +957,17 @@ TEST(BoundFunctionCall) {
|
|
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| ScopedVector<v8::Handle<v8::String> > names(3);
|
| - names[0] = v8::String::New(ProfileGenerator::kGarbageCollectorEntryName);
|
| - names[1] = v8::String::New(ProfileGenerator::kProgramEntryName);
|
| - names[2] = v8::String::New("start");
|
| + names[0] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), ProfileGenerator::kGarbageCollectorEntryName);
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + ProfileGenerator::kProgramEntryName);
|
| + names[2] = v8::String::NewFromUtf8(env->GetIsolate(), "start");
|
| // Don't allow |foo| node to be at the top level.
|
| CheckChildrenNames(root, names);
|
|
|
| - const v8::CpuProfileNode* startNode = GetChild(root, "start");
|
| - GetChild(startNode, "foo");
|
| + const v8::CpuProfileNode* startNode =
|
| + GetChild(env->GetIsolate(), root, "start");
|
| + GetChild(env->GetIsolate(), startNode, "foo");
|
|
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
| cpu_profiler->DeleteAllCpuProfiles();
|
| @@ -964,9 +1005,10 @@ TEST(FunctionCallSample) {
|
| // Collect garbage that might have be generated while installing extensions.
|
| CcTest::heap()->CollectAllGarbage(Heap::kNoGCFlags);
|
|
|
| - v8::Script::Compile(v8::String::New(call_function_test_source))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(
|
| + env->GetIsolate(), call_function_test_source))->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| int32_t duration_ms = 100;
|
| v8::Handle<v8::Value> args[] = { v8::Integer::New(duration_ms) };
|
| @@ -976,10 +1018,13 @@ TEST(FunctionCallSample) {
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| {
|
| ScopedVector<v8::Handle<v8::String> > names(4);
|
| - names[0] = v8::String::New(ProfileGenerator::kGarbageCollectorEntryName);
|
| - names[1] = v8::String::New(ProfileGenerator::kProgramEntryName);
|
| - names[2] = v8::String::New("start");
|
| - names[3] = v8::String::New(i::ProfileGenerator::kUnresolvedFunctionName);
|
| + names[0] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), ProfileGenerator::kGarbageCollectorEntryName);
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + ProfileGenerator::kProgramEntryName);
|
| + names[2] = v8::String::NewFromUtf8(env->GetIsolate(), "start");
|
| + names[3] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), i::ProfileGenerator::kUnresolvedFunctionName);
|
| // Don't allow |bar| and |call| nodes to be at the top level.
|
| CheckChildrenNames(root, names);
|
| }
|
| @@ -988,20 +1033,21 @@ TEST(FunctionCallSample) {
|
| // won't be |start| node in the profiles.
|
| bool is_gc_stress_testing =
|
| (i::FLAG_gc_interval != -1) || i::FLAG_stress_compaction;
|
| - const v8::CpuProfileNode* startNode = FindChild(root, "start");
|
| + const v8::CpuProfileNode* startNode =
|
| + FindChild(env->GetIsolate(), root, "start");
|
| CHECK(is_gc_stress_testing || startNode);
|
| if (startNode) {
|
| ScopedVector<v8::Handle<v8::String> > names(2);
|
| - names[0] = v8::String::New("bar");
|
| - names[1] = v8::String::New("call");
|
| + names[0] = v8::String::NewFromUtf8(env->GetIsolate(), "bar");
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(), "call");
|
| CheckChildrenNames(startNode, names);
|
| }
|
|
|
| - const v8::CpuProfileNode* unresolvedNode =
|
| - FindChild(root, i::ProfileGenerator::kUnresolvedFunctionName);
|
| + const v8::CpuProfileNode* unresolvedNode = FindChild(
|
| + env->GetIsolate(), root, i::ProfileGenerator::kUnresolvedFunctionName);
|
| if (unresolvedNode) {
|
| ScopedVector<v8::Handle<v8::String> > names(1);
|
| - names[0] = v8::String::New("call");
|
| + names[0] = v8::String::NewFromUtf8(env->GetIsolate(), "call");
|
| CheckChildrenNames(unresolvedNode, names);
|
| }
|
|
|
| @@ -1039,9 +1085,11 @@ TEST(FunctionApplySample) {
|
| LocalContext env;
|
| v8::HandleScope scope(env->GetIsolate());
|
|
|
| - v8::Script::Compile(v8::String::New(function_apply_test_source))->Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), function_apply_test_source))
|
| + ->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| int32_t duration_ms = 100;
|
| v8::Handle<v8::Value> args[] = { v8::Integer::New(duration_ms) };
|
| @@ -1052,36 +1100,42 @@ TEST(FunctionApplySample) {
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| {
|
| ScopedVector<v8::Handle<v8::String> > names(3);
|
| - names[0] = v8::String::New(ProfileGenerator::kGarbageCollectorEntryName);
|
| - names[1] = v8::String::New(ProfileGenerator::kProgramEntryName);
|
| - names[2] = v8::String::New("start");
|
| + names[0] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), ProfileGenerator::kGarbageCollectorEntryName);
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + ProfileGenerator::kProgramEntryName);
|
| + names[2] = v8::String::NewFromUtf8(env->GetIsolate(), "start");
|
| // Don't allow |test|, |bar| and |apply| nodes to be at the top level.
|
| CheckChildrenNames(root, names);
|
| }
|
|
|
| - const v8::CpuProfileNode* startNode = FindChild(root, "start");
|
| + const v8::CpuProfileNode* startNode =
|
| + FindChild(env->GetIsolate(), root, "start");
|
| if (startNode) {
|
| {
|
| ScopedVector<v8::Handle<v8::String> > names(2);
|
| - names[0] = v8::String::New("test");
|
| - names[1] = v8::String::New(ProfileGenerator::kUnresolvedFunctionName);
|
| + names[0] = v8::String::NewFromUtf8(env->GetIsolate(), "test");
|
| + names[1] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), ProfileGenerator::kUnresolvedFunctionName);
|
| CheckChildrenNames(startNode, names);
|
| }
|
|
|
| - const v8::CpuProfileNode* testNode = FindChild(startNode, "test");
|
| + const v8::CpuProfileNode* testNode =
|
| + FindChild(env->GetIsolate(), startNode, "test");
|
| if (testNode) {
|
| ScopedVector<v8::Handle<v8::String> > names(2);
|
| - names[0] = v8::String::New("bar");
|
| - names[1] = v8::String::New("apply");
|
| + names[0] = v8::String::NewFromUtf8(env->GetIsolate(), "bar");
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(), "apply");
|
| CheckChildrenNames(testNode, names);
|
| }
|
|
|
| if (const v8::CpuProfileNode* unresolvedNode =
|
| - FindChild(startNode, ProfileGenerator::kUnresolvedFunctionName)) {
|
| + FindChild(env->GetIsolate(), startNode,
|
| + ProfileGenerator::kUnresolvedFunctionName)) {
|
| ScopedVector<v8::Handle<v8::String> > names(1);
|
| - names[0] = v8::String::New("apply");
|
| + names[0] = v8::String::NewFromUtf8(env->GetIsolate(), "apply");
|
| CheckChildrenNames(unresolvedNode, names);
|
| - GetChild(unresolvedNode, "apply");
|
| + GetChild(env->GetIsolate(), unresolvedNode, "apply");
|
| }
|
| }
|
|
|
| @@ -1136,12 +1190,14 @@ TEST(JsNativeJsSample) {
|
| v8::Local<v8::FunctionTemplate> func_template = v8::FunctionTemplate::New(
|
| CallJsFunction);
|
| v8::Local<v8::Function> func = func_template->GetFunction();
|
| - func->SetName(v8::String::New("CallJsFunction"));
|
| - env->Global()->Set(v8::String::New("CallJsFunction"), func);
|
| + func->SetName(v8::String::NewFromUtf8(env->GetIsolate(), "CallJsFunction"));
|
| + env->Global()->Set(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "CallJsFunction"), func);
|
|
|
| - v8::Script::Compile(v8::String::New(js_native_js_test_source))->Run();
|
| + v8::Script::Compile(v8::String::NewFromUtf8(env->GetIsolate(),
|
| + js_native_js_test_source))->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| int32_t duration_ms = 20;
|
| v8::Handle<v8::Value> args[] = { v8::Integer::New(duration_ms) };
|
| @@ -1151,22 +1207,26 @@ TEST(JsNativeJsSample) {
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| {
|
| ScopedVector<v8::Handle<v8::String> > names(3);
|
| - names[0] = v8::String::New(ProfileGenerator::kGarbageCollectorEntryName);
|
| - names[1] = v8::String::New(ProfileGenerator::kProgramEntryName);
|
| - names[2] = v8::String::New("start");
|
| + names[0] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), ProfileGenerator::kGarbageCollectorEntryName);
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + ProfileGenerator::kProgramEntryName);
|
| + names[2] = v8::String::NewFromUtf8(env->GetIsolate(), "start");
|
| CheckChildrenNames(root, names);
|
| }
|
|
|
| - const v8::CpuProfileNode* startNode = GetChild(root, "start");
|
| + const v8::CpuProfileNode* startNode =
|
| + GetChild(env->GetIsolate(), root, "start");
|
| CHECK_EQ(1, startNode->GetChildrenCount());
|
| const v8::CpuProfileNode* nativeFunctionNode =
|
| - GetChild(startNode, "CallJsFunction");
|
| + GetChild(env->GetIsolate(), startNode, "CallJsFunction");
|
|
|
| CHECK_EQ(1, nativeFunctionNode->GetChildrenCount());
|
| - const v8::CpuProfileNode* barNode = GetChild(nativeFunctionNode, "bar");
|
| + const v8::CpuProfileNode* barNode =
|
| + GetChild(env->GetIsolate(), nativeFunctionNode, "bar");
|
|
|
| CHECK_EQ(1, barNode->GetChildrenCount());
|
| - GetChild(barNode, "foo");
|
| + GetChild(env->GetIsolate(), barNode, "foo");
|
|
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
| cpu_profiler->DeleteAllCpuProfiles();
|
| @@ -1214,13 +1274,15 @@ TEST(JsNativeJsRuntimeJsSample) {
|
| v8::Local<v8::FunctionTemplate> func_template = v8::FunctionTemplate::New(
|
| CallJsFunction);
|
| v8::Local<v8::Function> func = func_template->GetFunction();
|
| - func->SetName(v8::String::New("CallJsFunction"));
|
| - env->Global()->Set(v8::String::New("CallJsFunction"), func);
|
| + func->SetName(v8::String::NewFromUtf8(env->GetIsolate(), "CallJsFunction"));
|
| + env->Global()->Set(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "CallJsFunction"), func);
|
|
|
| - v8::Script::Compile(v8::String::New(js_native_js_runtime_js_test_source))->
|
| - Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(),
|
| + js_native_js_runtime_js_test_source))->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| int32_t duration_ms = 20;
|
| v8::Handle<v8::Value> args[] = { v8::Integer::New(duration_ms) };
|
| @@ -1229,21 +1291,25 @@ TEST(JsNativeJsRuntimeJsSample) {
|
|
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| ScopedVector<v8::Handle<v8::String> > names(3);
|
| - names[0] = v8::String::New(ProfileGenerator::kGarbageCollectorEntryName);
|
| - names[1] = v8::String::New(ProfileGenerator::kProgramEntryName);
|
| - names[2] = v8::String::New("start");
|
| + names[0] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), ProfileGenerator::kGarbageCollectorEntryName);
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + ProfileGenerator::kProgramEntryName);
|
| + names[2] = v8::String::NewFromUtf8(env->GetIsolate(), "start");
|
| CheckChildrenNames(root, names);
|
|
|
| - const v8::CpuProfileNode* startNode = GetChild(root, "start");
|
| + const v8::CpuProfileNode* startNode =
|
| + GetChild(env->GetIsolate(), root, "start");
|
| CHECK_EQ(1, startNode->GetChildrenCount());
|
| const v8::CpuProfileNode* nativeFunctionNode =
|
| - GetChild(startNode, "CallJsFunction");
|
| + GetChild(env->GetIsolate(), startNode, "CallJsFunction");
|
|
|
| CHECK_EQ(1, nativeFunctionNode->GetChildrenCount());
|
| - const v8::CpuProfileNode* barNode = GetChild(nativeFunctionNode, "bar");
|
| + const v8::CpuProfileNode* barNode =
|
| + GetChild(env->GetIsolate(), nativeFunctionNode, "bar");
|
|
|
| CHECK_EQ(1, barNode->GetChildrenCount());
|
| - GetChild(barNode, "foo");
|
| + GetChild(env->GetIsolate(), barNode, "foo");
|
|
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
| cpu_profiler->DeleteAllCpuProfiles();
|
| @@ -1296,18 +1362,21 @@ TEST(JsNative1JsNative2JsSample) {
|
| v8::Local<v8::FunctionTemplate> func_template = v8::FunctionTemplate::New(
|
| CallJsFunction);
|
| v8::Local<v8::Function> func1 = func_template->GetFunction();
|
| - func1->SetName(v8::String::New("CallJsFunction1"));
|
| - env->Global()->Set(v8::String::New("CallJsFunction1"), func1);
|
| + func1->SetName(v8::String::NewFromUtf8(env->GetIsolate(), "CallJsFunction1"));
|
| + env->Global()->Set(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "CallJsFunction1"), func1);
|
|
|
| v8::Local<v8::Function> func2 = v8::FunctionTemplate::New(
|
| CallJsFunction2)->GetFunction();
|
| - func2->SetName(v8::String::New("CallJsFunction2"));
|
| - env->Global()->Set(v8::String::New("CallJsFunction2"), func2);
|
| + func2->SetName(v8::String::NewFromUtf8(env->GetIsolate(), "CallJsFunction2"));
|
| + env->Global()->Set(
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "CallJsFunction2"), func2);
|
|
|
| - v8::Script::Compile(v8::String::New(js_native1_js_native2_js_test_source))->
|
| - Run();
|
| + v8::Script::Compile(
|
| + v8::String::NewFromUtf8(env->GetIsolate(),
|
| + js_native1_js_native2_js_test_source))->Run();
|
| v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
|
| - env->Global()->Get(v8::String::New("start")));
|
| + env->Global()->Get(v8::String::NewFromUtf8(env->GetIsolate(), "start")));
|
|
|
| int32_t duration_ms = 20;
|
| v8::Handle<v8::Value> args[] = { v8::Integer::New(duration_ms) };
|
| @@ -1316,24 +1385,29 @@ TEST(JsNative1JsNative2JsSample) {
|
|
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| ScopedVector<v8::Handle<v8::String> > names(3);
|
| - names[0] = v8::String::New(ProfileGenerator::kGarbageCollectorEntryName);
|
| - names[1] = v8::String::New(ProfileGenerator::kProgramEntryName);
|
| - names[2] = v8::String::New("start");
|
| + names[0] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), ProfileGenerator::kGarbageCollectorEntryName);
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + ProfileGenerator::kProgramEntryName);
|
| + names[2] = v8::String::NewFromUtf8(env->GetIsolate(), "start");
|
| CheckChildrenNames(root, names);
|
|
|
| - const v8::CpuProfileNode* startNode = GetChild(root, "start");
|
| + const v8::CpuProfileNode* startNode =
|
| + GetChild(env->GetIsolate(), root, "start");
|
| CHECK_EQ(1, startNode->GetChildrenCount());
|
| const v8::CpuProfileNode* nativeNode1 =
|
| - GetChild(startNode, "CallJsFunction1");
|
| + GetChild(env->GetIsolate(), startNode, "CallJsFunction1");
|
|
|
| CHECK_EQ(1, nativeNode1->GetChildrenCount());
|
| - const v8::CpuProfileNode* barNode = GetChild(nativeNode1, "bar");
|
| + const v8::CpuProfileNode* barNode =
|
| + GetChild(env->GetIsolate(), nativeNode1, "bar");
|
|
|
| CHECK_EQ(1, barNode->GetChildrenCount());
|
| - const v8::CpuProfileNode* nativeNode2 = GetChild(barNode, "CallJsFunction2");
|
| + const v8::CpuProfileNode* nativeNode2 =
|
| + GetChild(env->GetIsolate(), barNode, "CallJsFunction2");
|
|
|
| CHECK_EQ(1, nativeNode2->GetChildrenCount());
|
| - GetChild(nativeNode2, "foo");
|
| + GetChild(env->GetIsolate(), nativeNode2, "foo");
|
|
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
| cpu_profiler->DeleteAllCpuProfiles();
|
| @@ -1349,7 +1423,8 @@ TEST(IdleTime) {
|
| v8::HandleScope scope(env->GetIsolate());
|
| v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
|
|
|
| - v8::Local<v8::String> profile_name = v8::String::New("my_profile");
|
| + v8::Local<v8::String> profile_name =
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "my_profile");
|
| cpu_profiler->StartCpuProfiling(profile_name);
|
|
|
| i::Isolate* isolate = CcTest::i_isolate();
|
| @@ -1374,18 +1449,21 @@ TEST(IdleTime) {
|
|
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| ScopedVector<v8::Handle<v8::String> > names(3);
|
| - names[0] = v8::String::New(ProfileGenerator::kGarbageCollectorEntryName);
|
| - names[1] = v8::String::New(ProfileGenerator::kProgramEntryName);
|
| - names[2] = v8::String::New(ProfileGenerator::kIdleEntryName);
|
| + names[0] = v8::String::NewFromUtf8(
|
| + env->GetIsolate(), ProfileGenerator::kGarbageCollectorEntryName);
|
| + names[1] = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + ProfileGenerator::kProgramEntryName);
|
| + names[2] = v8::String::NewFromUtf8(env->GetIsolate(),
|
| + ProfileGenerator::kIdleEntryName);
|
| CheckChildrenNames(root, names);
|
|
|
| const v8::CpuProfileNode* programNode =
|
| - GetChild(root, ProfileGenerator::kProgramEntryName);
|
| + GetChild(env->GetIsolate(), root, ProfileGenerator::kProgramEntryName);
|
| CHECK_EQ(0, programNode->GetChildrenCount());
|
| CHECK_GE(programNode->GetHitCount(), 3);
|
|
|
| const v8::CpuProfileNode* idleNode =
|
| - GetChild(root, ProfileGenerator::kIdleEntryName);
|
| + GetChild(env->GetIsolate(), root, ProfileGenerator::kIdleEntryName);
|
| CHECK_EQ(0, idleNode->GetChildrenCount());
|
| CHECK_GE(idleNode->GetHitCount(), 3);
|
|
|
| @@ -1393,11 +1471,14 @@ TEST(IdleTime) {
|
| }
|
|
|
|
|
| -static void CheckFunctionDetails(const v8::CpuProfileNode* node,
|
| - const char* name, const char* script_name, int script_id,
|
| - int line, int column) {
|
| - CHECK_EQ(v8::String::New(name), node->GetFunctionName());
|
| - CHECK_EQ(v8::String::New(script_name), node->GetScriptResourceName());
|
| +static void CheckFunctionDetails(v8::Isolate* isolate,
|
| + const v8::CpuProfileNode* node,
|
| + const char* name, const char* script_name,
|
| + int script_id, int line, int column) {
|
| + CHECK_EQ(v8::String::NewFromUtf8(isolate, name),
|
| + node->GetFunctionName());
|
| + CHECK_EQ(v8::String::NewFromUtf8(isolate, script_name),
|
| + node->GetScriptResourceName());
|
| CHECK_EQ(script_id, node->GetScriptId());
|
| CHECK_EQ(line, node->GetLineNumber());
|
| CHECK_EQ(column, node->GetColumnNumber());
|
| @@ -1412,14 +1493,20 @@ TEST(FunctionDetails) {
|
|
|
| v8::CpuProfiler* profiler = env->GetIsolate()->GetCpuProfiler();
|
| CHECK_EQ(0, profiler->GetProfileCount());
|
| - v8::Handle<v8::Script> script_a = v8::Script::Compile(v8::String::New(
|
| - " function foo\n() { try { bar(); } catch(e) {} }\n"
|
| - " function bar() { startProfiling(); }\n"), v8::String::New("script_a"));
|
| + v8::Handle<v8::Script> script_a = v8::Script::Compile(
|
| + v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| + " function foo\n() { try { bar(); } catch(e) {} }\n"
|
| + " function bar() { startProfiling(); }\n"),
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "script_a"));
|
| script_a->Run();
|
| - v8::Handle<v8::Script> script_b = v8::Script::Compile(v8::String::New(
|
| - "\n\n function baz() { try { foo(); } catch(e) {} }\n"
|
| - "\n\nbaz();\n"
|
| - "stopProfiling();\n"), v8::String::New("script_b"));
|
| + v8::Handle<v8::Script> script_b = v8::Script::Compile(
|
| + v8::String::NewFromUtf8(
|
| + env->GetIsolate(),
|
| + "\n\n function baz() { try { foo(); } catch(e) {} }\n"
|
| + "\n\nbaz();\n"
|
| + "stopProfiling();\n"),
|
| + v8::String::NewFromUtf8(env->GetIsolate(), "script_b"));
|
| script_b->Run();
|
| CHECK_EQ(1, profiler->GetProfileCount());
|
| const v8::CpuProfile* profile = profiler->GetCpuProfile(0);
|
| @@ -1433,14 +1520,18 @@ TEST(FunctionDetails) {
|
| // 0 foo 18 #4 TryCatchStatement script_a:2
|
| // 1 bar 18 #5 no reason script_a:3
|
| const v8::CpuProfileNode* root = profile->GetTopDownRoot();
|
| - const v8::CpuProfileNode* script = GetChild(root,
|
| + const v8::CpuProfileNode* script = GetChild(env->GetIsolate(), root,
|
| ProfileGenerator::kAnonymousFunctionName);
|
| - CheckFunctionDetails(script, ProfileGenerator::kAnonymousFunctionName,
|
| - "script_b", script_b->GetId(), 1, 1);
|
| - const v8::CpuProfileNode* baz = GetChild(script, "baz");
|
| - CheckFunctionDetails(baz, "baz", "script_b", script_b->GetId(), 3, 16);
|
| - const v8::CpuProfileNode* foo = GetChild(baz, "foo");
|
| - CheckFunctionDetails(foo, "foo", "script_a", script_a->GetId(), 2, 1);
|
| - const v8::CpuProfileNode* bar = GetChild(foo, "bar");
|
| - CheckFunctionDetails(bar, "bar", "script_a", script_a->GetId(), 3, 14);
|
| + CheckFunctionDetails(env->GetIsolate(), script,
|
| + ProfileGenerator::kAnonymousFunctionName, "script_b",
|
| + script_b->GetId(), 1, 1);
|
| + const v8::CpuProfileNode* baz = GetChild(env->GetIsolate(), script, "baz");
|
| + CheckFunctionDetails(env->GetIsolate(), baz, "baz", "script_b",
|
| + script_b->GetId(), 3, 16);
|
| + const v8::CpuProfileNode* foo = GetChild(env->GetIsolate(), baz, "foo");
|
| + CheckFunctionDetails(env->GetIsolate(), foo, "foo", "script_a",
|
| + script_a->GetId(), 2, 1);
|
| + const v8::CpuProfileNode* bar = GetChild(env->GetIsolate(), foo, "bar");
|
| + CheckFunctionDetails(env->GetIsolate(), bar, "bar", "script_a",
|
| + script_a->GetId(), 3, 14);
|
| }
|
|
|