Chromium Code Reviews| Index: src/api.cc |
| diff --git a/src/api.cc b/src/api.cc |
| index 8214028311bc1b7dcc60cd7cabb9801f86446438..084da50be8315e2a31302778157e846459222cee 100644 |
| --- a/src/api.cc |
| +++ b/src/api.cc |
| @@ -8352,9 +8352,11 @@ CpuProfile* CpuProfiler::StopProfiling(Local<String> title) { |
| void CpuProfiler::SetIdle(bool is_idle) { |
| - i::Isolate* isolate = reinterpret_cast<i::CpuProfiler*>(this)->isolate(); |
| + i::CpuProfiler* profiler = reinterpret_cast<i::CpuProfiler*>(this); |
| + if (!profiler->is_profiling()) return; |
|
alph
2016/04/30 00:03:08
Sorry, didn't get how it helps. If we're not profi
dgozman
2016/04/30 00:10:39
This does not happen, since compilation cannot tri
alph
2016/04/30 00:29:20
Looks more robust to me. The problem is that when
|
| + i::Isolate* isolate = profiler->isolate(); |
| v8::StateTag state = isolate->current_vm_state(); |
| - DCHECK(state == v8::JS || state == v8::EXTERNAL || state == v8::IDLE); |
| + DCHECK(state == v8::EXTERNAL || state == v8::IDLE); |
| if (isolate->js_entry_sp() != NULL) return; |
| if (is_idle) { |
| isolate->set_current_vm_state(v8::IDLE); |