![]() |
v8
3.11.10(node0.8.26)
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 98 of file runtime-profiler.cc.
| void AttemptOnStackReplacement | ( | JSFunction * | function | ) |
Definition at line 159 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 111 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 434 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 370 of file runtime-profiler.cc.
References StackGuard::RequestRuntimeProfilerTick(), and Isolate::stack_guard().
Referenced by SamplerThread::DoRuntimeProfile(), and SignalSender::DoRuntimeProfile().
| void OptimizeNow | ( | ) |
Definition at line 239 of file runtime-profiler.cc.
References Code::allow_osr_at_loop_nesting_level(), RuntimeProfiler::AttemptOnStackReplacement(), JSFunction::cast(), SharedFunctionInfo::deopt_count(), JavaScriptFrame::function(), Code::FUNCTION, Code::instruction_size(), Compiler::kDefaultMaxOptCount, 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 470 of file runtime-profiler.cc.
References HeapObject::cast(), Marking::MarkBitFrom(), and v8::internal::NULL.
| void Reset | ( | ) |
Definition at line 387 of file runtime-profiler.cc.
Referenced by Context::New().
| Object** SamplerWindowAddress | ( | ) |
| int SamplerWindowSize | ( | ) |
Definition at line 402 of file runtime-profiler.cc.
| void SetUp | ( | ) |
Definition at line 376 of file runtime-profiler.cc.
References ASSERT, Logger::EnsureTickerStarted(), RuntimeProfiler::IsEnabled(), and Isolate::logger().
|
static |
Definition at line 448 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 397 of file runtime-profiler.cc.
| void UpdateSamplesAfterCompact | ( | ObjectVisitor * | visitor | ) |
Definition at line 481 of file runtime-profiler.cc.
| void UpdateSamplesAfterScavenge | ( | ) |
Definition at line 408 of file runtime-profiler.cc.
References HeapObject::cast(), Isolate::heap(), Heap::InNewSpace(), HeapObject::map_word(), and v8::internal::NULL.
|
static |
Definition at line 439 of file runtime-profiler.cc.
References ASSERT, and v8::internal::NoBarrier_CompareAndSwap().