diff --git a/deps/v8/src/cpu-profiler.cc b/deps/v8/src/cpu-profiler.cc index 68a565c73a2..360ac644ca1 100644 --- a/deps/v8/src/cpu-profiler.cc +++ b/deps/v8/src/cpu-profiler.cc @@ -112,10 +112,18 @@ void ProfilerEventsProcessor::Run() { timer.Start(); // Keep processing existing events until we need to do next sample. do { - if (FoundSampleForNextCodeEvent == ProcessOneSample()) { + switch (ProcessOneSample()) { + case FoundSampleForNextCodeEvent: // All ticks of the current last_processed_code_event_id_ are // processed, proceed to the next code event. ProcessCodeEvent(); + break; + case NoSamplesInQueue: + base::Thread::YieldCPU(); + break; + default: + // carry on processing samples + break; } } while (!timer.HasExpired(period_));