Index: src/optimizing-compile-dispatcher.h |
diff --git a/src/optimizing-compile-dispatcher.h b/src/optimizing-compile-dispatcher.h |
index 9c4e4cb8df17bf85d8c6d43a7ca190d9707c469c..e14e8aafbcaeb3bce9a796a9ff196f21e0713d78 100644 |
--- a/src/optimizing-compile-dispatcher.h |
+++ b/src/optimizing-compile-dispatcher.h |
@@ -28,20 +28,11 @@ class OptimizingCompileDispatcher { |
input_queue_capacity_(FLAG_concurrent_recompilation_queue_length), |
input_queue_length_(0), |
input_queue_shift_(0), |
- osr_buffer_capacity_(FLAG_concurrent_recompilation_queue_length + 4), |
- osr_buffer_cursor_(0), |
- osr_hits_(0), |
- osr_attempts_(0), |
blocked_jobs_(0), |
ref_count_(0), |
recompilation_delay_(FLAG_concurrent_recompilation_delay) { |
base::NoBarrier_Store(&mode_, static_cast<base::AtomicWord>(COMPILE)); |
input_queue_ = NewArray<OptimizedCompileJob*>(input_queue_capacity_); |
- if (FLAG_concurrent_osr) { |
- // Allocate and mark OSR buffer slots as empty. |
- osr_buffer_ = NewArray<OptimizedCompileJob*>(osr_buffer_capacity_); |
- for (int i = 0; i < osr_buffer_capacity_; i++) osr_buffer_[i] = NULL; |
- } |
} |
~OptimizingCompileDispatcher(); |
@@ -52,24 +43,12 @@ class OptimizingCompileDispatcher { |
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); |
inline bool IsQueueAvailable() { |
base::LockGuard<base::Mutex> access_input_queue(&input_queue_mutex_); |
return input_queue_length_ < input_queue_capacity_; |
} |
- inline void AgeBufferedOsrJobs() { |
- // Advance cursor of the cyclic buffer to next empty slot or stale OSR job. |
- // Dispose said OSR job in the latter case. Calling this on every GC |
- // should make sure that we do not hold onto stale jobs indefinitely. |
- AddToOsrBuffer(NULL); |
- } |
- |
static bool Enabled() { return FLAG_concurrent_recompilation; } |
private: |
@@ -78,14 +57,9 @@ class OptimizingCompileDispatcher { |
enum ModeFlag { COMPILE, FLUSH }; |
void FlushOutputQueue(bool restore_function_code); |
- void FlushOsrBuffer(bool restore_function_code); |
void CompileNext(OptimizedCompileJob* job); |
OptimizedCompileJob* NextInput(bool check_if_flushing = false); |
- // Add a recompilation task for OSR to the cyclic buffer, awaiting OSR entry. |
- // Tasks evicted from the cyclic buffer are discarded. |
- void AddToOsrBuffer(OptimizedCompileJob* compiler); |
- |
inline int InputQueueIndex(int i) { |
int result = (i + input_queue_shift_) % input_queue_capacity_; |
DCHECK_LE(0, result); |
@@ -108,16 +82,8 @@ class OptimizingCompileDispatcher { |
// different threads. |
base::Mutex output_queue_mutex_; |
- // Cyclic buffer of recompilation tasks for OSR. |
- OptimizedCompileJob** osr_buffer_; |
- int osr_buffer_capacity_; |
- int osr_buffer_cursor_; |
- |
volatile base::AtomicWord mode_; |
- int osr_hits_; |
- int osr_attempts_; |
- |
int blocked_jobs_; |
int ref_count_; |