Chromium Code Reviews| Index: runtime/vm/thread_registry.cc |
| diff --git a/runtime/vm/thread_registry.cc b/runtime/vm/thread_registry.cc |
| index 44c0d133460cd1aa7afda44e1d453d0a9759debe..24445162a5f2bcb5e3cba405bbd84aa758329cd3 100644 |
| --- a/runtime/vm/thread_registry.cc |
| +++ b/runtime/vm/thread_registry.cc |
| @@ -4,6 +4,7 @@ |
| #include "vm/thread_registry.h" |
| +#include "vm/compiler.h" |
| #include "vm/isolate.h" |
| #include "vm/lockers.h" |
| @@ -37,6 +38,11 @@ void ThreadRegistry::SafepointThreads() { |
| if (!isolate->MutatorThreadIsCurrentThread()) { |
| isolate->ScheduleInterrupts(Isolate::kVMInterrupt); |
| } |
| + if (isolate->compile_optimized_task() != NULL) { |
| + // Make sure the task moves from Wait to a safepoint. |
|
koda
2015/10/01 22:27:02
This should not be needed anymore, now that you en
srdjan
2015/10/01 23:11:24
Done.
|
| + MonitorLocker ml_comp(isolate->compile_optimized_task()->monitor()); |
| + ml_comp.Notify(); |
| + } |
| while (remaining_ > 0) { |
| ml.Wait(Monitor::kNoTimeout); |
| } |