OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/libsampler/sampler.h" | 5 #include "src/libsampler/sampler.h" |
6 | 6 |
7 #if V8_OS_POSIX && !V8_OS_CYGWIN | 7 #if V8_OS_POSIX && !V8_OS_CYGWIN |
8 | 8 |
9 #define USE_SIGNALS | 9 #define USE_SIGNALS |
10 | 10 |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 public: | 210 public: |
211 PlatformData() : vm_tid_(pthread_self()) {} | 211 PlatformData() : vm_tid_(pthread_self()) {} |
212 pthread_t vm_tid() const { return vm_tid_; } | 212 pthread_t vm_tid() const { return vm_tid_; } |
213 | 213 |
214 private: | 214 private: |
215 pthread_t vm_tid_; | 215 pthread_t vm_tid_; |
216 }; | 216 }; |
217 | 217 |
218 class SamplerManager { | 218 class SamplerManager { |
219 public: | 219 public: |
220 SamplerManager() : sampler_map_(base::HashMap::PointersMatch) {} | 220 SamplerManager() : sampler_map_() {} |
221 | 221 |
222 void AddSampler(Sampler* sampler) { | 222 void AddSampler(Sampler* sampler) { |
223 AtomicGuard atomic_guard(&samplers_access_counter_); | 223 AtomicGuard atomic_guard(&samplers_access_counter_); |
224 DCHECK(sampler->IsActive() || !sampler->IsRegistered()); | 224 DCHECK(sampler->IsActive() || !sampler->IsRegistered()); |
225 // Add sampler into map if needed. | 225 // Add sampler into map if needed. |
226 pthread_t thread_id = sampler->platform_data()->vm_tid(); | 226 pthread_t thread_id = sampler->platform_data()->vm_tid(); |
227 base::HashMap::Entry* entry = | 227 base::HashMap::Entry* entry = |
228 sampler_map_.LookupOrInsert(ThreadKey(thread_id), | 228 sampler_map_.LookupOrInsert(ThreadKey(thread_id), |
229 ThreadHash(thread_id)); | 229 ThreadHash(thread_id)); |
230 DCHECK(entry != nullptr); | 230 DCHECK(entry != nullptr); |
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
654 #endif | 654 #endif |
655 SampleStack(state); | 655 SampleStack(state); |
656 } | 656 } |
657 ResumeThread(profiled_thread); | 657 ResumeThread(profiled_thread); |
658 } | 658 } |
659 | 659 |
660 #endif // USE_SIGNALS | 660 #endif // USE_SIGNALS |
661 | 661 |
662 } // namespace sampler | 662 } // namespace sampler |
663 } // namespace v8 | 663 } // namespace v8 |
OLD | NEW |