Chromium Code Reviews| Index: runtime/vm/profiler.cc |
| diff --git a/runtime/vm/profiler.cc b/runtime/vm/profiler.cc |
| index a99b48ee84b38090e31fdc1e74dc7b6e2eef88a3..799e4a7f0f9f03627b8ed7cac59c4f13ff8ad869 100644 |
| --- a/runtime/vm/profiler.cc |
| +++ b/runtime/vm/profiler.cc |
| @@ -69,6 +69,7 @@ void Profiler::InitOnce() { |
| SetSamplePeriod(FLAG_profile_period); |
| SetSampleDepth(FLAG_max_profile_depth); |
| Sample::InitOnce(); |
| +#if !defined(TARGET_ARCH_DBC) |
|
zra
2017/07/31 15:03:11
I thought the profiler was kind of working somewha
rmacnak
2017/07/31 21:12:12
Removed; this was a bad merge. I was working from
|
| if (!FLAG_profiler) { |
| return; |
| } |
| @@ -78,9 +79,11 @@ void Profiler::InitOnce() { |
| // Zero counters. |
| memset(&counters_, 0, sizeof(counters_)); |
| NativeSymbolResolver::InitOnce(); |
| + ThreadInterrupter::InitOnce(); |
| ThreadInterrupter::SetInterruptPeriod(FLAG_profile_period); |
| ThreadInterrupter::Startup(); |
| initialized_ = true; |
| +#endif // !DBC |
| } |
| void Profiler::InitAllocationSampleBuffer() { |
| @@ -91,12 +94,16 @@ void Profiler::InitAllocationSampleBuffer() { |
| } |
| void Profiler::Shutdown() { |
| +#if !defined(TARGET_ARCH_DBC) |
| if (!FLAG_profiler) { |
| return; |
| } |
| ASSERT(initialized_); |
| ThreadInterrupter::Shutdown(); |
| NativeSymbolResolver::ShutdownOnce(); |
| +// Note we do not free the sample buffer because there may be SIGPROFs |
|
zra
2017/07/31 15:03:11
Can you set a "shutting down" bit somewhere that t
rmacnak
2017/07/31 21:12:12
The signal handler could be between that check and
zra
2017/07/31 21:59:28
Maybe some thing like:
Signal handler:
AtomicInc(
rmacnak
2017/08/01 19:58:58
Added TODO(30309)
|
| +// in flight. |
| +#endif // !DBC |
| } |
| void Profiler::SetSampleDepth(intptr_t depth) { |