diff options
Diffstat (limited to 'deps/v8/src/optimizing-compiler-thread.cc')
-rw-r--r-- | deps/v8/src/optimizing-compiler-thread.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/deps/v8/src/optimizing-compiler-thread.cc b/deps/v8/src/optimizing-compiler-thread.cc index 1e2e0a85df..b2abc813ab 100644 --- a/deps/v8/src/optimizing-compiler-thread.cc +++ b/deps/v8/src/optimizing-compiler-thread.cc @@ -42,6 +42,9 @@ void OptimizingCompilerThread::Run() { thread_id_ = ThreadId::Current().ToInteger(); #endif Isolate::SetIsolateThreadLocals(isolate_, NULL); + DisallowHeapAllocation no_allocation; + DisallowHandleAllocation no_handles; + DisallowHandleDereference no_deref; int64_t epoch = 0; if (FLAG_trace_parallel_recompilation) epoch = OS::Ticks(); @@ -89,6 +92,7 @@ void OptimizingCompilerThread::CompileNext() { // Mark it for installing before queuing so that we can be sure of the write // order: marking first and (after being queued) installing code second. { Heap::RelocationLock relocation_lock(isolate_->heap()); + AllowHandleDereference ahd; optimizing_compiler->info()->closure()->MarkForInstallingRecompiledCode(); } output_queue_.Enqueue(optimizing_compiler); |