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().