| OLD | NEW |
| 1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 using i::ProfileGenerator; | 42 using i::ProfileGenerator; |
| 43 using i::ProfileNode; | 43 using i::ProfileNode; |
| 44 using i::ProfilerEventsProcessor; | 44 using i::ProfilerEventsProcessor; |
| 45 using i::ScopedVector; | 45 using i::ScopedVector; |
| 46 using i::SmartPointer; | 46 using i::SmartPointer; |
| 47 using i::TimeDelta; | 47 using i::TimeDelta; |
| 48 using i::Vector; | 48 using i::Vector; |
| 49 | 49 |
| 50 | 50 |
| 51 TEST(StartStop) { | 51 TEST(StartStop) { |
| 52 CpuProfilesCollection profiles; | 52 i::Isolate* isolate = CcTest::i_isolate(); |
| 53 CpuProfilesCollection profiles(isolate->heap()); |
| 53 ProfileGenerator generator(&profiles); | 54 ProfileGenerator generator(&profiles); |
| 54 SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( | 55 SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( |
| 55 &generator, NULL, TimeDelta::FromMicroseconds(100))); | 56 &generator, NULL, TimeDelta::FromMicroseconds(100))); |
| 56 processor->Start(); | 57 processor->Start(); |
| 57 processor->StopSynchronously(); | 58 processor->StopSynchronously(); |
| 58 } | 59 } |
| 59 | 60 |
| 60 | 61 |
| 61 static inline i::Address ToAddress(int n) { | 62 static inline i::Address ToAddress(int n) { |
| 62 return reinterpret_cast<i::Address>(n); | 63 return reinterpret_cast<i::Address>(n); |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 i::HandleScope scope(isolate); | 134 i::HandleScope scope(isolate); |
| 134 | 135 |
| 135 i::Code* aaa_code = CreateCode(&env); | 136 i::Code* aaa_code = CreateCode(&env); |
| 136 i::Code* comment_code = CreateCode(&env); | 137 i::Code* comment_code = CreateCode(&env); |
| 137 i::Code* args5_code = CreateCode(&env); | 138 i::Code* args5_code = CreateCode(&env); |
| 138 i::Code* comment2_code = CreateCode(&env); | 139 i::Code* comment2_code = CreateCode(&env); |
| 139 i::Code* moved_code = CreateCode(&env); | 140 i::Code* moved_code = CreateCode(&env); |
| 140 i::Code* args3_code = CreateCode(&env); | 141 i::Code* args3_code = CreateCode(&env); |
| 141 i::Code* args4_code = CreateCode(&env); | 142 i::Code* args4_code = CreateCode(&env); |
| 142 | 143 |
| 143 CpuProfilesCollection* profiles = new CpuProfilesCollection; | 144 CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate->heap()); |
| 144 profiles->StartProfiling("", 1, false); | 145 profiles->StartProfiling("", 1, false); |
| 145 ProfileGenerator generator(profiles); | 146 ProfileGenerator generator(profiles); |
| 146 SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( | 147 SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( |
| 147 &generator, NULL, TimeDelta::FromMicroseconds(100))); | 148 &generator, NULL, TimeDelta::FromMicroseconds(100))); |
| 148 processor->Start(); | 149 processor->Start(); |
| 149 CpuProfiler profiler(isolate, profiles, &generator, *processor); | 150 CpuProfiler profiler(isolate, profiles, &generator, *processor); |
| 150 | 151 |
| 151 // Enqueue code creation events. | 152 // Enqueue code creation events. |
| 152 const char* aaa_str = "aaa"; | 153 const char* aaa_str = "aaa"; |
| 153 i::Handle<i::String> aaa_name = factory->NewStringFromAscii( | 154 i::Handle<i::String> aaa_name = factory->NewStringFromAscii( |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 TEST(TickEvents) { | 196 TEST(TickEvents) { |
| 196 TestSetup test_setup; | 197 TestSetup test_setup; |
| 197 LocalContext env; | 198 LocalContext env; |
| 198 i::Isolate* isolate = i::Isolate::Current(); | 199 i::Isolate* isolate = i::Isolate::Current(); |
| 199 i::HandleScope scope(isolate); | 200 i::HandleScope scope(isolate); |
| 200 | 201 |
| 201 i::Code* frame1_code = CreateCode(&env); | 202 i::Code* frame1_code = CreateCode(&env); |
| 202 i::Code* frame2_code = CreateCode(&env); | 203 i::Code* frame2_code = CreateCode(&env); |
| 203 i::Code* frame3_code = CreateCode(&env); | 204 i::Code* frame3_code = CreateCode(&env); |
| 204 | 205 |
| 205 CpuProfilesCollection* profiles = new CpuProfilesCollection; | 206 CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate->heap()); |
| 206 profiles->StartProfiling("", 1, false); | 207 profiles->StartProfiling("", 1, false); |
| 207 ProfileGenerator generator(profiles); | 208 ProfileGenerator generator(profiles); |
| 208 SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( | 209 SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( |
| 209 &generator, NULL, TimeDelta::FromMicroseconds(100))); | 210 &generator, NULL, TimeDelta::FromMicroseconds(100))); |
| 210 processor->Start(); | 211 processor->Start(); |
| 211 CpuProfiler profiler(isolate, profiles, &generator, *processor); | 212 CpuProfiler profiler(isolate, profiles, &generator, *processor); |
| 212 | 213 |
| 213 profiler.CodeCreateEvent(i::Logger::BUILTIN_TAG, frame1_code, "bbb"); | 214 profiler.CodeCreateEvent(i::Logger::BUILTIN_TAG, frame1_code, "bbb"); |
| 214 profiler.CodeCreateEvent(i::Logger::STUB_TAG, frame2_code, 5); | 215 profiler.CodeCreateEvent(i::Logger::STUB_TAG, frame2_code, 5); |
| 215 profiler.CodeCreateEvent(i::Logger::BUILTIN_TAG, frame3_code, "ddd"); | 216 profiler.CodeCreateEvent(i::Logger::BUILTIN_TAG, frame3_code, "ddd"); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 // http://code.google.com/p/v8/issues/detail?id=1398 | 265 // http://code.google.com/p/v8/issues/detail?id=1398 |
| 265 // Long stacks (exceeding max frames limit) must not be erased. | 266 // Long stacks (exceeding max frames limit) must not be erased. |
| 266 TEST(Issue1398) { | 267 TEST(Issue1398) { |
| 267 TestSetup test_setup; | 268 TestSetup test_setup; |
| 268 LocalContext env; | 269 LocalContext env; |
| 269 i::Isolate* isolate = i::Isolate::Current(); | 270 i::Isolate* isolate = i::Isolate::Current(); |
| 270 i::HandleScope scope(isolate); | 271 i::HandleScope scope(isolate); |
| 271 | 272 |
| 272 i::Code* code = CreateCode(&env); | 273 i::Code* code = CreateCode(&env); |
| 273 | 274 |
| 274 CpuProfilesCollection* profiles = new CpuProfilesCollection; | 275 CpuProfilesCollection* profiles = new CpuProfilesCollection(isolate->heap()); |
| 275 profiles->StartProfiling("", 1, false); | 276 profiles->StartProfiling("", 1, false); |
| 276 ProfileGenerator generator(profiles); | 277 ProfileGenerator generator(profiles); |
| 277 SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( | 278 SmartPointer<ProfilerEventsProcessor> processor(new ProfilerEventsProcessor( |
| 278 &generator, NULL, TimeDelta::FromMicroseconds(100))); | 279 &generator, NULL, TimeDelta::FromMicroseconds(100))); |
| 279 processor->Start(); | 280 processor->Start(); |
| 280 CpuProfiler profiler(isolate, profiles, &generator, *processor); | 281 CpuProfiler profiler(isolate, profiles, &generator, *processor); |
| 281 | 282 |
| 282 profiler.CodeCreateEvent(i::Logger::BUILTIN_TAG, code, "bbb"); | 283 profiler.CodeCreateEvent(i::Logger::BUILTIN_TAG, code, "bbb"); |
| 283 | 284 |
| 284 i::TickSample* sample = processor->StartTickSample(); | 285 i::TickSample* sample = processor->StartTickSample(); |
| (...skipping 1087 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1372 CHECK_EQ(0, programNode->GetChildrenCount()); | 1373 CHECK_EQ(0, programNode->GetChildrenCount()); |
| 1373 CHECK_GE(programNode->GetHitCount(), 3); | 1374 CHECK_GE(programNode->GetHitCount(), 3); |
| 1374 | 1375 |
| 1375 const v8::CpuProfileNode* idleNode = | 1376 const v8::CpuProfileNode* idleNode = |
| 1376 GetChild(root, ProfileGenerator::kIdleEntryName); | 1377 GetChild(root, ProfileGenerator::kIdleEntryName); |
| 1377 CHECK_EQ(0, idleNode->GetChildrenCount()); | 1378 CHECK_EQ(0, idleNode->GetChildrenCount()); |
| 1378 CHECK_GE(idleNode->GetHitCount(), 3); | 1379 CHECK_GE(idleNode->GetHitCount(), 3); |
| 1379 | 1380 |
| 1380 cpu_profiler->DeleteAllCpuProfiles(); | 1381 cpu_profiler->DeleteAllCpuProfiles(); |
| 1381 } | 1382 } |
| OLD | NEW |