![]() |
v8
3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
|
#include <runtime-profiler.h>
Public Member Functions | |
| RuntimeProfiler (Isolate *isolate) | |
| void | OptimizeNow () |
| void | NotifyTick () |
| void | SetUp () |
| void | Reset () |
| void | TearDown () |
| Object ** | SamplerWindowAddress () |
| int | SamplerWindowSize () |
| void | NotifyICChanged () |
| void | UpdateSamplesAfterScavenge () |
| void | RemoveDeadSamples () |
| void | UpdateSamplesAfterCompact (ObjectVisitor *visitor) |
| void | AttemptOnStackReplacement (JSFunction *function) |
Static Public Member Functions | |
| static void | GlobalSetUp () |
| static bool | IsEnabled () |
| static void | IsolateEnteredJS (Isolate *isolate) |
| static void | IsolateExitedJS (Isolate *isolate) |
| static bool | IsSomeIsolateInJS () |
| static bool | WaitForSomeIsolateToEnterJS () |
| static void | StopRuntimeProfilerThreadBeforeShutdown (Thread *thread) |
Definition at line 42 of file runtime-profiler.h.
|
explicit |
Definition at line 100 of file runtime-profiler.cc.
| void AttemptOnStackReplacement | ( | JSFunction * | function | ) |
Definition at line 165 of file runtime-profiler.cc.
References ASSERT, Builtins::builtin(), Isolate::builtins(), Isolate::DebuggerHasBreakPoints(), v8::internal::NULL, Deoptimizer::PatchStackCheckCode(), and v8::internal::PrintF().
Referenced by RuntimeProfiler::OptimizeNow().
|
static |
Definition at line 113 of file runtime-profiler.cc.
References ASSERT, and V8::UseCrankshaft().
|
inlinestatic |
Definition at line 48 of file runtime-profiler.h.
References ASSERT.
Referenced by Isolate::ArchiveThread(), Ticker::ClearProfiler(), Ticker::ClearWindow(), Logger::PauseProfiler(), Isolate::RestoreThread(), SamplerThread::Run(), SignalSender::Run(), Isolate::SetCurrentVMState(), and RuntimeProfiler::SetUp().
|
inlinestatic |
Definition at line 159 of file runtime-profiler.h.
References ASSERT, and v8::internal::NoBarrier_AtomicIncrement().
Referenced by Isolate::RestoreThread(), and Isolate::SetCurrentVMState().
|
inlinestatic |
Definition at line 171 of file runtime-profiler.h.
References ASSERT, v8::internal::NoBarrier_AtomicIncrement(), and v8::internal::USE().
Referenced by Isolate::ArchiveThread(), and Isolate::SetCurrentVMState().
|
static |
Definition at line 443 of file runtime-profiler.cc.
References v8::internal::NoBarrier_Load().
Referenced by Isolate::SetCurrentVMState().
|
inline |
Definition at line 64 of file runtime-profiler.h.
| void NotifyTick | ( | ) |
Definition at line 379 of file runtime-profiler.cc.
References StackGuard::RequestRuntimeProfilerTick(), and Isolate::stack_guard().
Referenced by SamplerThread::DoRuntimeProfile(), and SignalSender::DoRuntimeProfile().
| void OptimizeNow | ( | ) |
Definition at line 249 of file runtime-profiler.cc.
References Code::allow_osr_at_loop_nesting_level(), RuntimeProfiler::AttemptOnStackReplacement(), JSFunction::cast(), SharedFunctionInfo::deopt_count(), JavaScriptFrame::function(), Code::instruction_size(), Code::kind(), Code::kMaxLoopNestingMarker, v8::internal::Min(), v8::internal::PrintF(), Code::profiler_ticks(), Code::set_allow_osr_at_loop_nesting_level(), Code::set_profiler_ticks(), SharedFunctionInfo::SourceSize(), and SharedFunctionInfo::TryReenableOptimization().
Referenced by Execution::HandleStackGuardInterrupt().
| void RemoveDeadSamples | ( | ) |
Definition at line 479 of file runtime-profiler.cc.
References HeapObject::cast(), Marking::MarkBitFrom(), and v8::internal::NULL.
| void Reset | ( | ) |
Definition at line 396 of file runtime-profiler.cc.
Referenced by Context::New().
| Object** SamplerWindowAddress | ( | ) |
| int SamplerWindowSize | ( | ) |
Definition at line 411 of file runtime-profiler.cc.
| void SetUp | ( | ) |
Definition at line 385 of file runtime-profiler.cc.
References ASSERT, Logger::EnsureTickerStarted(), RuntimeProfiler::IsEnabled(), and Isolate::logger().
|
static |
Definition at line 457 of file runtime-profiler.cc.
References ASSERT, Thread::Join(), and v8::internal::NoBarrier_AtomicIncrement().
Referenced by SamplerThread::RemoveActiveSampler(), and SignalSender::RemoveActiveSampler().
| void TearDown | ( | ) |
Definition at line 406 of file runtime-profiler.cc.
| void UpdateSamplesAfterCompact | ( | ObjectVisitor * | visitor | ) |
Definition at line 490 of file runtime-profiler.cc.
| void UpdateSamplesAfterScavenge | ( | ) |
Definition at line 417 of file runtime-profiler.cc.
References HeapObject::cast(), Isolate::heap(), Heap::InNewSpace(), HeapObject::map_word(), and v8::internal::NULL.
|
static |
Definition at line 448 of file runtime-profiler.cc.
References ASSERT, and v8::internal::NoBarrier_CompareAndSwap().