Index: src/compiler-dispatcher/optimizing-compile-dispatcher.cc |
diff --git a/src/compiler-dispatcher/optimizing-compile-dispatcher.cc b/src/compiler-dispatcher/optimizing-compile-dispatcher.cc |
index 11695063848721b75fb54df93017badb314de1ca..8c578ca30c20a8293b81ae0a5d85bda63a93f8f8 100644 |
--- a/src/compiler-dispatcher/optimizing-compile-dispatcher.cc |
+++ b/src/compiler-dispatcher/optimizing-compile-dispatcher.cc |
@@ -33,11 +33,11 @@ void DisposeCompilationJob(CompilationJob* job, bool restore_function_code) { |
class OptimizingCompileDispatcher::CompileTask : public v8::Task { |
public: |
- explicit CompileTask(Isolate* isolate) : isolate_(isolate) { |
- OptimizingCompileDispatcher* dispatcher = |
- isolate_->optimizing_compile_dispatcher(); |
- base::LockGuard<base::Mutex> lock_guard(&dispatcher->ref_count_mutex_); |
- ++dispatcher->ref_count_; |
+ explicit CompileTask(Isolate* isolate, |
+ OptimizingCompileDispatcher* dispatcher) |
+ : isolate_(isolate), dispatcher_(dispatcher) { |
+ base::LockGuard<base::Mutex> lock_guard(&dispatcher_->ref_count_mutex_); |
+ ++dispatcher_->ref_count_; |
} |
virtual ~CompileTask() {} |
@@ -49,30 +49,29 @@ class OptimizingCompileDispatcher::CompileTask : public v8::Task { |
DisallowHandleAllocation no_handles; |
DisallowHandleDereference no_deref; |
- OptimizingCompileDispatcher* dispatcher = |
- isolate_->optimizing_compile_dispatcher(); |
{ |
TimerEventScope<TimerEventRecompileConcurrent> timer(isolate_); |
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("v8.compile"), |
"V8.RecompileConcurrent"); |
- if (dispatcher->recompilation_delay_ != 0) { |
+ if (dispatcher_->recompilation_delay_ != 0) { |
base::OS::Sleep(base::TimeDelta::FromMilliseconds( |
- dispatcher->recompilation_delay_)); |
+ dispatcher_->recompilation_delay_)); |
} |
- dispatcher->CompileNext(dispatcher->NextInput(true)); |
+ dispatcher_->CompileNext(dispatcher_->NextInput(true)); |
} |
{ |
- base::LockGuard<base::Mutex> lock_guard(&dispatcher->ref_count_mutex_); |
- if (--dispatcher->ref_count_ == 0) { |
- dispatcher->ref_count_zero_.NotifyOne(); |
+ base::LockGuard<base::Mutex> lock_guard(&dispatcher_->ref_count_mutex_); |
+ if (--dispatcher_->ref_count_ == 0) { |
+ dispatcher_->ref_count_zero_.NotifyOne(); |
} |
} |
} |
Isolate* isolate_; |
+ OptimizingCompileDispatcher* dispatcher_; |
DISALLOW_COPY_AND_ASSIGN(CompileTask); |
}; |
@@ -222,14 +221,14 @@ void OptimizingCompileDispatcher::QueueForOptimization(CompilationJob* job) { |
blocked_jobs_++; |
} else { |
V8::GetCurrentPlatform()->CallOnBackgroundThread( |
- new CompileTask(isolate_), v8::Platform::kShortRunningTask); |
+ new CompileTask(isolate_, this), v8::Platform::kShortRunningTask); |
} |
} |
void OptimizingCompileDispatcher::Unblock() { |
while (blocked_jobs_ > 0) { |
V8::GetCurrentPlatform()->CallOnBackgroundThread( |
- new CompileTask(isolate_), v8::Platform::kShortRunningTask); |
+ new CompileTask(isolate_, this), v8::Platform::kShortRunningTask); |
blocked_jobs_--; |
} |
} |