| Index: src/optimizing-compiler-thread.cc
|
| diff --git a/src/optimizing-compiler-thread.cc b/src/optimizing-compiler-thread.cc
|
| index 1e2e0a85df11a195fdced7f8911d76055bc4d708..b2abc813abb63e52a191ae789352b79962264e19 100644
|
| --- a/src/optimizing-compiler-thread.cc
|
| +++ b/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);
|
|
|