| Index: runtime/vm/thread_test.cc
 | 
| diff --git a/runtime/vm/thread_test.cc b/runtime/vm/thread_test.cc
 | 
| index 5f8628b7fa96ae3fdc6e3ad2e01c624afe2ff53a..560aa1cb03734b77a9ffbca8c8ef3fae29e82371 100644
 | 
| --- a/runtime/vm/thread_test.cc
 | 
| +++ b/runtime/vm/thread_test.cc
 | 
| @@ -498,12 +498,12 @@ TEST_CASE(HelperAllocAndGC) {
 | 
|    Thread::PrepareForGC();
 | 
|    Dart::thread_pool()->Run(new AllocAndGCTask(isolate, &done_monitor, &done));
 | 
|    {
 | 
| -    // Manually wait.
 | 
| -    // TODO(koda): Replace with execution of Dart and/or VM code when GC
 | 
| -    // actually safepoints everything.
 | 
| -    MonitorLocker ml(&done_monitor);
 | 
| -    while (!done) {
 | 
| -      ml.Wait();
 | 
| +    while (true) {
 | 
| +      isolate->thread_registry()->CheckSafepoint();
 | 
| +      MonitorLocker ml(&done_monitor);
 | 
| +      if (done) {
 | 
| +        break;
 | 
| +      }
 | 
|      }
 | 
|    }
 | 
|  }
 | 
| 
 |