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 |