| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 "vm/profiler_service.h" | 5 #include "vm/profiler_service.h" |
| 6 | 6 |
| 7 #include "vm/growable_array.h" | 7 #include "vm/growable_array.h" |
| 8 #include "vm/native_symbol.h" | 8 #include "vm/native_symbol.h" |
| 9 #include "vm/object.h" | 9 #include "vm/object.h" |
| 10 #include "vm/os.h" | 10 #include "vm/os.h" |
| (...skipping 1746 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1757 bool top_frame, | 1757 bool top_frame, |
| 1758 bool exit_frame, | 1758 bool exit_frame, |
| 1759 intptr_t code_index) { | 1759 intptr_t code_index) { |
| 1760 const bool exclusive = top_frame && !exit_frame; | 1760 const bool exclusive = top_frame && !exit_frame; |
| 1761 if (!inclusive_tree_) { | 1761 if (!inclusive_tree_) { |
| 1762 // We process functions for the inclusive and exclusive trees. | 1762 // We process functions for the inclusive and exclusive trees. |
| 1763 // Only tick the function for the exclusive tree. | 1763 // Only tick the function for the exclusive tree. |
| 1764 function->Tick(exclusive, exclusive ? -1 : inclusive_serial); | 1764 function->Tick(exclusive, exclusive ? -1 : inclusive_serial); |
| 1765 } | 1765 } |
| 1766 function->AddCodeObjectIndex(code_index); | 1766 function->AddCodeObjectIndex(code_index); |
| 1767 | |
| 1768 current = current->GetChild(function->index()); | 1767 current = current->GetChild(function->index()); |
| 1769 current->AddCodeObjectIndex(code_index); | 1768 current->AddCodeObjectIndex(code_index); |
| 1770 if (top_frame) { | 1769 if (top_frame) { |
| 1771 if (!exit_frame || vm_tags_emitted()) { | 1770 if (!exit_frame || vm_tags_emitted()) { |
| 1772 // Only tick if this isn't an exit frame or VM tags are emitted. | 1771 // Only tick if this isn't an exit frame or VM tags are emitted. |
| 1773 current->Tick(); | 1772 current->Tick(); |
| 1774 } | 1773 } |
| 1775 } else { | 1774 } else { |
| 1776 current->Tick(); | 1775 current->Tick(); |
| 1777 } | 1776 } |
| (...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2361 ASSERT(sample_buffer != NULL); | 2360 ASSERT(sample_buffer != NULL); |
| 2362 | 2361 |
| 2363 ClearProfileVisitor clear_profile(isolate); | 2362 ClearProfileVisitor clear_profile(isolate); |
| 2364 sample_buffer->VisitSamples(&clear_profile); | 2363 sample_buffer->VisitSamples(&clear_profile); |
| 2365 | 2364 |
| 2366 // Enable profile interrupts. | 2365 // Enable profile interrupts. |
| 2367 Profiler::BeginExecution(isolate); | 2366 Profiler::BeginExecution(isolate); |
| 2368 } | 2367 } |
| 2369 | 2368 |
| 2370 } // namespace dart | 2369 } // namespace dart |
| OLD | NEW |