v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <optimizing-compiler-thread.h>
Public Member Functions | |
OptimizingCompilerThread (Isolate *isolate) | |
~OptimizingCompilerThread () | |
void | Run () |
void | Stop () |
void | Flush () |
void | QueueForOptimization (OptimizedCompileJob *optimizing_compiler) |
void | Unblock () |
void | InstallOptimizedFunctions () |
OptimizedCompileJob * | FindReadyOSRCandidate (Handle< JSFunction > function, BailoutId osr_ast_id) |
bool | IsQueuedForOSR (Handle< JSFunction > function, BailoutId osr_ast_id) |
bool | IsQueuedForOSR (JSFunction *function) |
bool | IsQueueAvailable () |
void | AgeBufferedOsrJobs () |
Public Member Functions inherited from Thread | |
Thread (const Options &options) | |
virtual | ~Thread () |
void | Start () |
void | StartSynchronously () |
void | Join () |
const char * | name () const |
PlatformData * | data () |
void | NotifyStartedAndRun () |
Static Public Member Functions | |
static bool | Enabled (int max_available) |
Static Public Member Functions inherited from Thread | |
static LocalStorageKey | CreateThreadLocalKey () |
static void | DeleteThreadLocalKey (LocalStorageKey key) |
static void * | GetThreadLocal (LocalStorageKey key) |
static int | GetThreadLocalInt (LocalStorageKey key) |
static void | SetThreadLocal (LocalStorageKey key, void *value) |
static void | SetThreadLocalInt (LocalStorageKey key, int value) |
static bool | HasThreadLocal (LocalStorageKey key) |
static void * | GetExistingThreadLocal (LocalStorageKey key) |
static void | YieldCPU () |
Additional Inherited Members | |
Public Types inherited from Thread | |
enum | LocalStorageKey { LOCAL_STORAGE_KEY_MIN_VALUE = kMinInt, LOCAL_STORAGE_KEY_MAX_VALUE = kMaxInt } |
Static Public Attributes inherited from Thread | |
static const int | kMaxThreadNameLength = 16 |
Definition at line 46 of file optimizing-compiler-thread.h.
|
inlineexplicit |
Definition at line 48 of file optimizing-compiler-thread.h.
References v8::internal::NoBarrier_Store(), and v8::internal::NULL.
Definition at line 40 of file optimizing-compiler-thread.cc.
References ASSERT_EQ, CHECK_EQ, v8::internal::DeleteArray(), and v8::internal::NULL.
|
inline |
Definition at line 92 of file optimizing-compiler-thread.h.
References v8::internal::NULL.
|
inlinestatic |
Definition at line 99 of file optimizing-compiler-thread.h.
OptimizedCompileJob * FindReadyOSRCandidate | ( | Handle< JSFunction > | function, |
BailoutId | osr_ast_id | ||
) |
Definition at line 311 of file optimizing-compiler-thread.cc.
References ASSERT, CompilationInfo::HasSameOsrEntry(), OptimizedCompileJob::info(), OptimizedCompileJob::IsWaitingForInstall(), and v8::internal::NULL.
Referenced by v8::internal::RUNTIME_FUNCTION().
void Flush | ( | ) |
Definition at line 193 of file optimizing-compiler-thread.cc.
References ASSERT, v8::internal::PrintF(), v8::internal::Release_Store(), and OptimizingCompilerThread::Unblock().
Referenced by Heap::CollectAllAvailableGarbage(), and Heap::NotifyContextDisposed().
void InstallOptimizedFunctions | ( | ) |
Definition at line 240 of file optimizing-compiler-thread.cc.
References ASSERT, CompilationInfo::closure(), v8::internal::code(), Compiler::GetConcurrentlyOptimizedCode(), OptimizedCompileJob::info(), Handle< T >::is_null(), CompilationInfo::is_osr(), CompilationInfo::osr_ast_id(), v8::internal::PrintF(), BackEdgeTable::RemoveStackCheck(), BailoutId::ToInt(), CompilationInfo::unoptimized_code(), and OptimizedCompileJob::WaitForInstall().
Referenced by Execution::HandleStackGuardInterrupt(), and OptimizingCompilerThread::Stop().
|
inline |
Definition at line 87 of file optimizing-compiler-thread.h.
Referenced by OptimizingCompilerThread::QueueForOptimization().
bool IsQueuedForOSR | ( | Handle< JSFunction > | function, |
BailoutId | osr_ast_id | ||
) |
Definition at line 328 of file optimizing-compiler-thread.cc.
References ASSERT, CompilationInfo::HasSameOsrEntry(), OptimizedCompileJob::info(), OptimizedCompileJob::IsWaitingForInstall(), and v8::internal::NULL.
Referenced by v8::internal::RUNTIME_FUNCTION().
bool IsQueuedForOSR | ( | JSFunction * | function | ) |
Definition at line 342 of file optimizing-compiler-thread.cc.
References ASSERT, CompilationInfo::closure(), OptimizedCompileJob::info(), OptimizedCompileJob::IsWaitingForInstall(), and v8::internal::NULL.
void QueueForOptimization | ( | OptimizedCompileJob * | optimizing_compiler | ) |
Definition at line 273 of file optimizing-compiler-thread.cc.
References ASSERT, ASSERT_LT, OptimizedCompileJob::info(), CompilationInfo::is_osr(), and OptimizingCompilerThread::IsQueueAvailable().
|
virtual |
Implements Thread.
Definition at line 54 of file optimizing-compiler-thread.cc.
References v8::internal::Acquire_Load(), ThreadId::Current(), v8::internal::NULL, v8::internal::Release_Store(), OS::Sleep(), ThreadId::ToInteger(), and Logger::TimerEventScope::v8_recompile_concurrent.
void Stop | ( | ) |
Definition at line 207 of file optimizing-compiler-thread.cc.
References ASSERT, OptimizingCompilerThread::InstallOptimizedFunctions(), Thread::Join(), v8::internal::PrintF(), v8::internal::Release_Store(), and OptimizingCompilerThread::Unblock().
void Unblock | ( | ) |
Definition at line 302 of file optimizing-compiler-thread.cc.
References ASSERT.
Referenced by OptimizingCompilerThread::Flush(), and OptimizingCompilerThread::Stop().