![]() |
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().