V8 Project
|
#include <cpu-profiler.h>
Private Member Functions | |
void | StartProcessorIfNotStarted () |
void | StopProcessorIfLastProfile (const char *title) |
void | StopProcessor () |
void | ResetProfiles () |
void | LogBuiltins () |
DISALLOW_COPY_AND_ASSIGN (CpuProfiler) | |
Private Attributes | |
Isolate * | isolate_ |
base::TimeDelta | sampling_interval_ |
CpuProfilesCollection * | profiles_ |
ProfileGenerator * | generator_ |
ProfilerEventsProcessor * | processor_ |
bool | saved_is_logging_ |
bool | is_profiling_ |
Definition at line 192 of file cpu-profiler.h.
|
explicit |
Definition at line 370 of file cpu-profiler.cc.
v8::internal::CpuProfiler::CpuProfiler | ( | Isolate * | isolate, |
CpuProfilesCollection * | test_collection, | ||
ProfileGenerator * | test_generator, | ||
ProfilerEventsProcessor * | test_processor | ||
) |
Definition at line 381 of file cpu-profiler.cc.
|
virtual |
Implements v8::internal::CodeEventListener.
Definition at line 183 of file cpu-profiler.cc.
References v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::CodeCreateEventRecord::entry, v8::internal::FilterOutCodeCreateEvent(), v8::internal::CpuProfilesCollection::GetName(), name, v8::internal::CpuProfilesCollection::NewCodeEntry(), NULL, processor_, profiles_, v8::internal::CodeCreateEventRecord::shared, v8::internal::CodeCreateEventRecord::size, and v8::internal::CodeCreateEventRecord::start.
|
virtual |
Implements v8::internal::CodeEventListener.
Definition at line 197 of file cpu-profiler.cc.
References v8::internal::HeapObject::address(), v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::CodeCreateEventRecord::entry, v8::internal::Code::ExecutableSize(), v8::internal::FilterOutCodeCreateEvent(), v8::internal::CpuProfilesCollection::GetFunctionName(), name, v8::internal::CpuProfilesCollection::NewCodeEntry(), NULL, processor_, profiles_, v8::internal::CodeCreateEventRecord::shared, v8::internal::CodeCreateEventRecord::size, and v8::internal::CodeCreateEventRecord::start.
|
virtual |
Implements v8::internal::CodeEventListener.
Definition at line 277 of file cpu-profiler.cc.
References v8::internal::HeapObject::address(), v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::CodeCreateEventRecord::entry, v8::internal::Code::ExecutableSize(), v8::internal::FilterOutCodeCreateEvent(), v8::internal::CpuProfilesCollection::GetName(), v8::internal::CpuProfilesCollection::NewCodeEntry(), NULL, processor_, profiles_, v8::internal::CodeCreateEventRecord::shared, v8::internal::CodeCreateEventRecord::size, and v8::internal::CodeCreateEventRecord::start.
|
virtual |
Implements v8::internal::CodeEventListener.
Definition at line 211 of file cpu-profiler.cc.
References v8::internal::HeapObject::address(), v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::CodeCreateEventRecord::entry, v8::internal::Code::ExecutableSize(), v8::internal::FilterOutCodeCreateEvent(), v8::internal::CpuProfilesCollection::GetFunctionName(), name, v8::internal::CpuProfilesCollection::NewCodeEntry(), NULL, processor_, profiles_, v8::internal::CodeCreateEventRecord::shared, v8::internal::CodeCreateEventRecord::size, and v8::internal::CodeCreateEventRecord::start.
|
virtual |
Implements v8::internal::CodeEventListener.
Definition at line 225 of file cpu-profiler.cc.
References v8::internal::HeapObject::address(), DCHECK, v8::internal::SharedFunctionInfo::DebugName(), v8::internal::SharedFunctionInfo::DisableOptimizationReason(), v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::CodeCreateEventRecord::entry, v8::internal::Code::ExecutableSize(), v8::internal::FilterOutCodeCreateEvent(), v8::internal::GetBailoutReason(), v8::internal::CpuProfilesCollection::GetFunctionName(), v8::internal::CpuProfilesCollection::GetName(), v8::internal::CodeEntry::kEmptyNamePrefix, v8::internal::CpuProfilesCollection::NewCodeEntry(), processor_, profiles_, v8::internal::CompilationInfo::ReleaseNoFrameRanges(), v8::internal::CodeEntry::set_bailout_reason(), v8::internal::CodeEntry::set_no_frame_ranges(), v8::internal::CodeEntry::set_script_id(), v8::internal::CodeCreateEventRecord::shared, v8::internal::CodeCreateEventRecord::size, and v8::internal::CodeCreateEventRecord::start.
|
virtual |
Implements v8::internal::CodeEventListener.
Definition at line 251 of file cpu-profiler.cc.
References v8::internal::HeapObject::address(), DCHECK, v8::internal::SharedFunctionInfo::DebugName(), v8::internal::SharedFunctionInfo::DisableOptimizationReason(), v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::CodeCreateEventRecord::entry, v8::internal::Code::ExecutableSize(), v8::internal::FilterOutCodeCreateEvent(), v8::internal::GetBailoutReason(), v8::internal::CpuProfilesCollection::GetFunctionName(), v8::internal::CpuProfilesCollection::GetName(), v8::internal::CodeEntry::kEmptyNamePrefix, v8::internal::CpuProfilesCollection::NewCodeEntry(), processor_, profiles_, v8::internal::CompilationInfo::ReleaseNoFrameRanges(), v8::internal::CodeEntry::set_bailout_reason(), v8::internal::CodeEntry::set_no_frame_ranges(), v8::internal::CodeEntry::set_script_id(), v8::internal::CodeCreateEventRecord::shared, v8::internal::CodeCreateEventRecord::size, and v8::internal::CodeCreateEventRecord::start.
|
virtual |
Implements v8::internal::CodeEventListener.
Definition at line 312 of file cpu-profiler.cc.
|
virtual |
Implements v8::internal::CodeEventListener.
Definition at line 303 of file cpu-profiler.cc.
References v8::internal::HeapObject::address(), v8::internal::CodeDisableOptEventRecord::bailout_reason, v8::internal::SharedFunctionInfo::DisableOptimizationReason(), v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::GetBailoutReason(), processor_, and v8::internal::CodeDisableOptEventRecord::start.
Implements v8::internal::CodeEventListener.
Definition at line 294 of file cpu-profiler.cc.
References v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::CodeMoveEventRecord::from, processor_, v8::internal::CodeMoveEventRecord::to, and to().
|
inlinevirtual |
void v8::internal::CpuProfiler::DeleteAllProfiles | ( | ) |
Definition at line 157 of file cpu-profiler.cc.
References is_profiling_, ResetProfiles(), and StopProcessor().
void v8::internal::CpuProfiler::DeleteProfile | ( | CpuProfile * | profile | ) |
Definition at line 163 of file cpu-profiler.cc.
References is_profiling_, v8::internal::CpuProfilesCollection::profiles(), profiles_, v8::internal::CpuProfilesCollection::RemoveProfile(), and ResetProfiles().
|
private |
|
inline |
Definition at line 61 of file cpu-profiler-inl.h.
References v8::internal::ProfilerEventsProcessor::FinishTickSample(), and processor_.
Referenced by v8::internal::Sampler::SampleStack().
|
inline |
CpuProfile * v8::internal::CpuProfiler::GetProfile | ( | int | index | ) |
Definition at line 152 of file cpu-profiler.cc.
References v8::internal::CpuProfilesCollection::profiles(), and profiles_.
int v8::internal::CpuProfiler::GetProfilesCount | ( | ) |
Definition at line 146 of file cpu-profiler.cc.
References v8::internal::CpuProfilesCollection::profiles(), and profiles_.
Implements v8::internal::CodeEventListener.
Definition at line 326 of file cpu-profiler.cc.
References v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::CodeCreateEventRecord::entry, v8::internal::FilterOutCodeCreateEvent(), v8::internal::CpuProfilesCollection::GetName(), name, v8::internal::CpuProfilesCollection::NewCodeEntry(), NULL, processor_, profiles_, v8::internal::CodeCreateEventRecord::shared, v8::internal::CodeCreateEventRecord::size, and v8::internal::CodeCreateEventRecord::start.
|
inline |
|
inline |
Definition at line 243 of file cpu-profiler.h.
References is_profiling_.
|
inline |
Definition at line 249 of file cpu-profiler.h.
References isolate_.
Referenced by ResetProfiles().
|
private |
Definition at line 494 of file cpu-profiler.cc.
References v8::internal::HeapObject::address(), v8::internal::Builtins::builtin(), v8::internal::Builtins::builtin_count, v8::internal::ReportBuiltinEventRecord::builtin_id, v8::internal::Isolate::builtins(), DCHECK, v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::Builtins::is_initialized(), isolate_, processor_, and v8::internal::ReportBuiltinEventRecord::start.
Referenced by StartProcessorIfNotStarted().
|
inline |
Implements v8::internal::CodeEventListener.
Definition at line 341 of file cpu-profiler.cc.
References v8::internal::HeapObject::address(), v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::CodeCreateEventRecord::entry, v8::internal::Code::ExecutableSize(), v8::internal::FilterOutCodeCreateEvent(), v8::internal::CpuProfilesCollection::GetName(), v8::internal::CpuProfilesCollection::NewCodeEntry(), processor_, profiles_, v8::internal::CodeCreateEventRecord::size, and v8::internal::CodeCreateEventRecord::start.
|
private |
Definition at line 407 of file cpu-profiler.cc.
References isolate(), and profiles_.
Referenced by DeleteAllProfiles(), and DeleteProfile().
void v8::internal::CpuProfiler::set_sampling_interval | ( | base::TimeDelta | value | ) |
Definition at line 401 of file cpu-profiler.cc.
References DCHECK, is_profiling_, and sampling_interval_.
Implements v8::internal::CodeEventListener.
Definition at line 355 of file cpu-profiler.cc.
References v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::CodeCreateEventRecord::entry, v8::internal::FilterOutCodeCreateEvent(), v8::internal::CpuProfilesCollection::GetName(), name, v8::internal::CpuProfilesCollection::NewCodeEntry(), NULL, processor_, profiles_, v8::internal::CodeCreateEventRecord::shared, v8::internal::CodeCreateEventRecord::size, and v8::internal::CodeCreateEventRecord::start.
Implements v8::internal::CodeEventListener.
Definition at line 316 of file cpu-profiler.cc.
References v8::internal::ProfilerEventsProcessor::Enqueue(), v8::internal::SharedFunctionInfoMoveEventRecord::from, processor_, v8::internal::SharedFunctionInfoMoveEventRecord::to, and to().
|
private |
Definition at line 425 of file cpu-profiler.cc.
References v8::internal::ProfilerEventsProcessor::AddCurrentStack(), DCHECK, generator_, v8::internal::Heap::HasBeenSetUp(), v8::internal::Isolate::heap(), v8::internal::Sampler::IncreaseProfilingDepth(), v8::internal::Logger::is_logging_, is_profiling_, isolate_, v8::internal::Logger::LogAccessorCallbacks(), LogBuiltins(), v8::internal::Logger::LogCodeObjects(), v8::internal::Logger::LogCompiledFunctions(), v8::internal::Isolate::logger(), NULL, processor_, profiles_, v8::internal::Logger::sampler(), sampling_interval_, saved_is_logging_, v8::internal::Sampler::SetHasProcessingThread(), and v8::base::Thread::StartSynchronously().
Referenced by StartProfiling().
Definition at line 413 of file cpu-profiler.cc.
References profiles_, StartProcessorIfNotStarted(), and v8::internal::CpuProfilesCollection::StartProfiling().
Referenced by StartProfiling().
Definition at line 420 of file cpu-profiler.cc.
References v8::internal::CpuProfilesCollection::GetName(), profiles_, and StartProfiling().
|
inline |
Definition at line 55 of file cpu-profiler-inl.h.
References is_profiling_, NULL, processor_, and v8::internal::ProfilerEventsProcessor::StartTickSample().
Referenced by v8::internal::Sampler::SampleStack().
|
private |
Definition at line 479 of file cpu-profiler.cc.
References v8::internal::Sampler::DecreaseProfilingDepth(), generator_, v8::internal::Logger::is_logging_, is_profiling_, isolate_, v8::internal::Isolate::logger(), NULL, processor_, saved_is_logging_, v8::internal::Sampler::SetHasProcessingThread(), v8::internal::ProfilerEventsProcessor::StopSynchronously(), and v8::internal::Logger::ticker_.
Referenced by DeleteAllProfiles(), and StopProcessorIfLastProfile().
|
private |
Definition at line 474 of file cpu-profiler.cc.
References v8::internal::CpuProfilesCollection::IsLastProfile(), profiles_, and StopProcessor().
Referenced by StopProfiling().
CpuProfile * v8::internal::CpuProfiler::StopProfiling | ( | const char * | title | ) |
Definition at line 455 of file cpu-profiler.cc.
References is_profiling_, NULL, v8::internal::CpuProfile::Print(), profiles_, StopProcessorIfLastProfile(), and v8::internal::CpuProfilesCollection::StopProfiling().
CpuProfile * v8::internal::CpuProfiler::StopProfiling | ( | String * | title | ) |
Definition at line 466 of file cpu-profiler.cc.
References v8::internal::CpuProfilesCollection::GetName(), is_profiling_, NULL, profiles_, StopProcessorIfLastProfile(), and v8::internal::CpuProfilesCollection::StopProfiling().
|
private |
Definition at line 261 of file cpu-profiler.h.
Referenced by generator(), StartProcessorIfNotStarted(), and StopProcessor().
|
private |
Definition at line 264 of file cpu-profiler.h.
Referenced by DeleteAllProfiles(), DeleteProfile(), INLINE(), is_profiling_address(), set_sampling_interval(), StartProcessorIfNotStarted(), StartTickSample(), StopProcessor(), StopProfiling(), and ~CpuProfiler().
|
private |
Definition at line 258 of file cpu-profiler.h.
Referenced by isolate(), LogBuiltins(), StartProcessorIfNotStarted(), and StopProcessor().
|
private |
Definition at line 262 of file cpu-profiler.h.
Referenced by CallbackEvent(), CodeCreateEvent(), CodeDisableOptEvent(), CodeMoveEvent(), FinishTickSample(), GetterCallbackEvent(), LogBuiltins(), processor(), RegExpCodeCreateEvent(), SetterCallbackEvent(), SharedFunctionInfoMoveEvent(), StartProcessorIfNotStarted(), StartTickSample(), and StopProcessor().
|
private |
Definition at line 260 of file cpu-profiler.h.
Referenced by CallbackEvent(), CodeCreateEvent(), DeleteProfile(), GetProfile(), GetProfilesCount(), GetterCallbackEvent(), RegExpCodeCreateEvent(), ResetProfiles(), SetterCallbackEvent(), StartProcessorIfNotStarted(), StartProfiling(), StopProcessorIfLastProfile(), StopProfiling(), and ~CpuProfiler().
|
private |
Definition at line 259 of file cpu-profiler.h.
Referenced by set_sampling_interval(), and StartProcessorIfNotStarted().
|
private |
Definition at line 263 of file cpu-profiler.h.
Referenced by StartProcessorIfNotStarted(), and StopProcessor().