| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include <cstdio> | 5 #include <cstdio> |
| 6 | 6 |
| 7 #include "platform/utils.h" | 7 #include "platform/utils.h" |
| 8 | 8 |
| 9 #include "vm/isolate.h" | 9 #include "vm/isolate.h" |
| 10 #include "vm/json_stream.h" | 10 #include "vm/json_stream.h" |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 // added to the scheduled isolate list again. The side effect of this is | 52 // added to the scheduled isolate list again. The side effect of this is |
| 53 // that the signal handler must be able to acquire the isolate profiler data | 53 // that the signal handler must be able to acquire the isolate profiler data |
| 54 // mutex and the profile manager monitor. When an isolate running thread | 54 // mutex and the profile manager monitor. When an isolate running thread |
| 55 // (potential signal target) calls into an entry point which acquires | 55 // (potential signal target) calls into an entry point which acquires |
| 56 // ProfileManager::monitor_ signal delivery must be blocked. An example is | 56 // ProfileManager::monitor_ signal delivery must be blocked. An example is |
| 57 // Isolate::SetCurrent which blocks signal delivery while removing the old | 57 // Isolate::SetCurrent which blocks signal delivery while removing the old |
| 58 // current isolate from the scheduled list and adding the new current isolate | 58 // current isolate from the scheduled list and adding the new current isolate |
| 59 // to the scheduled list. | 59 // to the scheduled list. |
| 60 | 60 |
| 61 | 61 |
| 62 DEFINE_FLAG(bool, profile, true, "Enable Sampling Profiler"); | 62 DEFINE_FLAG(bool, profile, false, "Enable Sampling Profiler"); |
| 63 | 63 |
| 64 bool ProfilerManager::initialized_ = false; | 64 bool ProfilerManager::initialized_ = false; |
| 65 bool ProfilerManager::shutdown_ = false; | 65 bool ProfilerManager::shutdown_ = false; |
| 66 Monitor* ProfilerManager::monitor_ = NULL; | 66 Monitor* ProfilerManager::monitor_ = NULL; |
| 67 Isolate** ProfilerManager::isolates_ = NULL; | 67 Isolate** ProfilerManager::isolates_ = NULL; |
| 68 intptr_t ProfilerManager::isolates_capacity_ = 0; | 68 intptr_t ProfilerManager::isolates_capacity_ = 0; |
| 69 intptr_t ProfilerManager::isolates_size_ = 0; | 69 intptr_t ProfilerManager::isolates_size_ = 0; |
| 70 | 70 |
| 71 | 71 |
| 72 void ProfilerManager::InitOnce() { | 72 void ProfilerManager::InitOnce() { |
| (...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 563 return false; | 563 return false; |
| 564 } | 564 } |
| 565 uintptr_t cursor = reinterpret_cast<uintptr_t>(fp); | 565 uintptr_t cursor = reinterpret_cast<uintptr_t>(fp); |
| 566 cursor += sizeof(fp); | 566 cursor += sizeof(fp); |
| 567 bool r = cursor >= stack_lower_ && cursor <= stack_upper_; | 567 bool r = cursor >= stack_lower_ && cursor <= stack_upper_; |
| 568 return r; | 568 return r; |
| 569 } | 569 } |
| 570 | 570 |
| 571 | 571 |
| 572 } // namespace dart | 572 } // namespace dart |
| OLD | NEW |