Index: test/cctest/test-cpu-profiler.cc |
diff --git a/test/cctest/test-cpu-profiler.cc b/test/cctest/test-cpu-profiler.cc |
index 7740a1d9bf25572140bc33170e58e92472faced7..29a9ee2989a5d62c51371e3a43ccc05f0c52eb1d 100644 |
--- a/test/cctest/test-cpu-profiler.cc |
+++ b/test/cctest/test-cpu-profiler.cc |
@@ -31,12 +31,12 @@ |
#include "include/v8-profiler.h" |
#include "src/base/platform/platform.h" |
-#include "src/base/smart-pointers.h" |
#include "src/deoptimizer.h" |
#include "src/profiler/cpu-profiler-inl.h" |
#include "src/utils.h" |
#include "test/cctest/cctest.h" |
#include "test/cctest/profiler-extension.h" |
+ |
using i::CodeEntry; |
using i::CpuProfile; |
using i::CpuProfiler; |
@@ -47,8 +47,6 @@ using i::ProfileNode; |
using i::ProfilerEventsProcessor; |
using i::ScopedVector; |
using i::Vector; |
-using v8::base::SmartPointer; |
- |
// Helper methods |
static v8::Local<v8::Function> GetFunction(v8::Local<v8::Context> env, |
@@ -57,30 +55,26 @@ static v8::Local<v8::Function> GetFunction(v8::Local<v8::Context> env, |
env->Global()->Get(env, v8_str(name)).ToLocalChecked()); |
} |
- |
static size_t offset(const char* src, const char* substring) { |
const char* it = strstr(src, substring); |
CHECK(it); |
return static_cast<size_t>(it - src); |
} |
- |
static const char* reason(const i::Deoptimizer::DeoptReason reason) { |
return i::Deoptimizer::GetDeoptReason(reason); |
} |
- |
TEST(StartStop) { |
- i::Isolate* isolate = CcTest::i_isolate(); |
- CpuProfilesCollection profiles(isolate->heap()); |
+ CpuProfilesCollection profiles(CcTest::i_isolate()); |
ProfileGenerator generator(&profiles); |
- SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( |
- &generator, NULL, v8::base::TimeDelta::FromMicroseconds(100))); |
+ std::unique_ptr<ProfilerEventsProcessor> processor( |
+ new ProfilerEventsProcessor(&generator, nullptr, |
+ v8::base::TimeDelta::FromMicroseconds(100))); |
processor->Start(); |
processor->StopSynchronously(); |
} |
- |
static void EnqueueTickSampleEvent(ProfilerEventsProcessor* proc, |
i::Address frame1, |
i::Address frame2 = NULL, |
@@ -157,13 +151,13 @@ TEST(CodeEvents) { |
i::AbstractCode* args3_code = CreateCode(&env); |
i::AbstractCode* args4_code = CreateCode(&env); |
- CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate->heap()); |
+ CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate); |
+ ProfileGenerator* generator = new ProfileGenerator(profiles); |
+ ProfilerEventsProcessor* processor = new ProfilerEventsProcessor( |
+ generator, nullptr, v8::base::TimeDelta::FromMicroseconds(100)); |
+ CpuProfiler profiler(isolate, profiles, generator, processor); |
profiles->StartProfiling("", false); |
- ProfileGenerator generator(profiles); |
- SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( |
- &generator, NULL, v8::base::TimeDelta::FromMicroseconds(100))); |
processor->Start(); |
- CpuProfiler profiler(isolate, profiles, &generator, processor.get()); |
// Enqueue code creation events. |
const char* aaa_str = "aaa"; |
@@ -177,26 +171,27 @@ TEST(CodeEvents) { |
profiler.CodeCreateEvent(i::Logger::STUB_TAG, args4_code, 4); |
// Enqueue a tick event to enable code events processing. |
- EnqueueTickSampleEvent(processor.get(), aaa_code->address()); |
+ EnqueueTickSampleEvent(processor, aaa_code->address()); |
processor->StopSynchronously(); |
// Check the state of profile generator. |
- CodeEntry* aaa = generator.code_map()->FindEntry(aaa_code->address()); |
+ CodeEntry* aaa = generator->code_map()->FindEntry(aaa_code->address()); |
CHECK(aaa); |
CHECK_EQ(0, strcmp(aaa_str, aaa->name())); |
- CodeEntry* comment = generator.code_map()->FindEntry(comment_code->address()); |
+ CodeEntry* comment = |
+ generator->code_map()->FindEntry(comment_code->address()); |
CHECK(comment); |
CHECK_EQ(0, strcmp("comment", comment->name())); |
- CodeEntry* args5 = generator.code_map()->FindEntry(args5_code->address()); |
+ CodeEntry* args5 = generator->code_map()->FindEntry(args5_code->address()); |
CHECK(args5); |
CHECK_EQ(0, strcmp("5", args5->name())); |
- CHECK(!generator.code_map()->FindEntry(comment2_code->address())); |
+ CHECK(!generator->code_map()->FindEntry(comment2_code->address())); |
- CodeEntry* comment2 = generator.code_map()->FindEntry(moved_code->address()); |
+ CodeEntry* comment2 = generator->code_map()->FindEntry(moved_code->address()); |
CHECK(comment2); |
CHECK_EQ(0, strcmp("comment2", comment2->name())); |
} |
@@ -216,28 +211,26 @@ TEST(TickEvents) { |
i::AbstractCode* frame2_code = CreateCode(&env); |
i::AbstractCode* frame3_code = CreateCode(&env); |
- CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate->heap()); |
+ CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate); |
+ ProfileGenerator* generator = new ProfileGenerator(profiles); |
+ ProfilerEventsProcessor* processor = new ProfilerEventsProcessor( |
+ generator, nullptr, v8::base::TimeDelta::FromMicroseconds(100)); |
+ CpuProfiler profiler(isolate, profiles, generator, processor); |
profiles->StartProfiling("", false); |
- ProfileGenerator generator(profiles); |
- SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( |
- &generator, NULL, v8::base::TimeDelta::FromMicroseconds(100))); |
processor->Start(); |
- CpuProfiler profiler(isolate, profiles, &generator, processor.get()); |
profiler.CodeCreateEvent(i::Logger::BUILTIN_TAG, frame1_code, "bbb"); |
profiler.CodeCreateEvent(i::Logger::STUB_TAG, frame2_code, 5); |
profiler.CodeCreateEvent(i::Logger::BUILTIN_TAG, frame3_code, "ddd"); |
- EnqueueTickSampleEvent(processor.get(), frame1_code->instruction_start()); |
+ EnqueueTickSampleEvent(processor, frame1_code->instruction_start()); |
EnqueueTickSampleEvent( |
- processor.get(), |
+ processor, |
frame2_code->instruction_start() + frame2_code->ExecutableSize() / 2, |
frame1_code->instruction_start() + frame2_code->ExecutableSize() / 2); |
- EnqueueTickSampleEvent( |
- processor.get(), |
- frame3_code->instruction_end() - 1, |
- frame2_code->instruction_end() - 1, |
- frame1_code->instruction_end() - 1); |
+ EnqueueTickSampleEvent(processor, frame3_code->instruction_end() - 1, |
+ frame2_code->instruction_end() - 1, |
+ frame1_code->instruction_end() - 1); |
processor->StopSynchronously(); |
CpuProfile* profile = profiles->StopProfiling(""); |
@@ -283,13 +276,13 @@ TEST(Issue1398) { |
i::AbstractCode* code = CreateCode(&env); |
- CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate->heap()); |
+ CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate); |
+ ProfileGenerator* generator = new ProfileGenerator(profiles); |
+ ProfilerEventsProcessor* processor = new ProfilerEventsProcessor( |
+ generator, nullptr, v8::base::TimeDelta::FromMicroseconds(100)); |
+ CpuProfiler profiler(isolate, profiles, generator, processor); |
profiles->StartProfiling("", false); |
- ProfileGenerator generator(profiles); |
- SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( |
- &generator, NULL, v8::base::TimeDelta::FromMicroseconds(100))); |
processor->Start(); |
- CpuProfiler profiler(isolate, profiles, &generator, processor.get()); |
profiler.CodeCreateEvent(i::Logger::BUILTIN_TAG, code, "bbb"); |
@@ -1021,13 +1014,13 @@ static void TickLines(bool optimize) { |
i::Address code_address = code->instruction_start(); |
CHECK(code_address); |
- CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate->heap()); |
+ CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate); |
+ ProfileGenerator* generator = new ProfileGenerator(profiles); |
+ ProfilerEventsProcessor* processor = new ProfilerEventsProcessor( |
+ generator, nullptr, v8::base::TimeDelta::FromMicroseconds(100)); |
+ CpuProfiler profiler(isolate, profiles, generator, processor); |
profiles->StartProfiling("", false); |
- ProfileGenerator generator(profiles); |
- SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( |
- &generator, NULL, v8::base::TimeDelta::FromMicroseconds(100))); |
processor->Start(); |
- CpuProfiler profiler(isolate, profiles, &generator, processor.get()); |
// Enqueue code creation events. |
i::Handle<i::String> str = factory->NewStringFromAsciiChecked(func_name); |
@@ -1037,7 +1030,7 @@ static void TickLines(bool optimize) { |
line, column); |
// Enqueue a tick event to enable code events processing. |
- EnqueueTickSampleEvent(processor.get(), code_address); |
+ EnqueueTickSampleEvent(processor, code_address); |
processor->StopSynchronously(); |
@@ -1045,7 +1038,7 @@ static void TickLines(bool optimize) { |
CHECK(profile); |
// Check the state of profile generator. |
- CodeEntry* func_entry = generator.code_map()->FindEntry(code_address); |
+ CodeEntry* func_entry = generator->code_map()->FindEntry(code_address); |
CHECK(func_entry); |
CHECK_EQ(0, strcmp(func_name, func_entry->name())); |
const i::JITLineInfoTable* line_info = func_entry->line_info(); |