diff options
Diffstat (limited to 'deps/v8/src/optimizing-compiler-thread.h')
-rw-r--r-- | deps/v8/src/optimizing-compiler-thread.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/deps/v8/src/optimizing-compiler-thread.h b/deps/v8/src/optimizing-compiler-thread.h index 275ceb40b7..cbd4d0e487 100644 --- a/deps/v8/src/optimizing-compiler-thread.h +++ b/deps/v8/src/optimizing-compiler-thread.h @@ -54,13 +54,13 @@ class OptimizingCompilerThread : public Thread { install_mutex_(OS::CreateMutex()), time_spent_compiling_(0), time_spent_total_(0) { - NoBarrier_Store(&stop_thread_, static_cast<AtomicWord>(false)); + NoBarrier_Store(&stop_thread_, static_cast<AtomicWord>(CONTINUE)); NoBarrier_Store(&queue_length_, static_cast<AtomicWord>(0)); } void Run(); void Stop(); - void CompileNext(); + void Flush(); void QueueForOptimization(OptimizingCompiler* optimizing_compiler); void InstallOptimizedFunctions(); @@ -92,6 +92,13 @@ class OptimizingCompilerThread : public Thread { } private: + enum StopFlag { CONTINUE, STOP, FLUSH }; + + void FlushInputQueue(bool restore_function_code); + void FlushOutputQueue(bool restore_function_code); + + void CompileNext(); + #ifdef DEBUG int thread_id_; Mutex* thread_id_mutex_; |