Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: runtime/vm/service.cc

Issue 928833003: Add Function based profile tree (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/scope_timer.h ('k') | runtime/vm/service_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "vm/service.h" 5 #include "vm/service.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "platform/globals.h" 8 #include "platform/globals.h"
9 9
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 2117 matching lines...) Expand 10 before | Expand all | Expand 10 after
2128 2128
2129 2129
2130 static bool GetCpuProfile(Isolate* isolate, JSONStream* js) { 2130 static bool GetCpuProfile(Isolate* isolate, JSONStream* js) {
2131 ProfilerService::TagOrder tag_order = 2131 ProfilerService::TagOrder tag_order =
2132 EnumMapper(js->LookupParam("tags"), tags_enum_names, tags_enum_values); 2132 EnumMapper(js->LookupParam("tags"), tags_enum_names, tags_enum_values);
2133 ProfilerService::PrintJSON(js, tag_order); 2133 ProfilerService::PrintJSON(js, tag_order);
2134 return true; 2134 return true;
2135 } 2135 }
2136 2136
2137 2137
2138 static const MethodParameter* clear_cpu_profile_params[] = {
2139 ISOLATE_PARAMETER,
2140 NULL,
2141 };
2142
2143
2144 static bool ClearCpuProfile(Isolate* isolate, JSONStream* js) {
2145 ProfilerService::ClearSamples();
2146 JSONObject jsobj(js);
2147 jsobj.AddProperty("type", "Success");
2148 return true;
2149 }
2150
2151
2138 static const MethodParameter* get_allocation_profile_params[] = { 2152 static const MethodParameter* get_allocation_profile_params[] = {
2139 ISOLATE_PARAMETER, 2153 ISOLATE_PARAMETER,
2140 NULL, 2154 NULL,
2141 }; 2155 };
2142 2156
2143 2157
2144 static bool GetAllocationProfile(Isolate* isolate, JSONStream* js) { 2158 static bool GetAllocationProfile(Isolate* isolate, JSONStream* js) {
2145 bool should_reset_accumulator = false; 2159 bool should_reset_accumulator = false;
2146 bool should_collect = false; 2160 bool should_collect = false;
2147 if (js->HasParam("reset")) { 2161 if (js->HasParam("reset")) {
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
2490 { "_respondWithMalformedJson", _RespondWithMalformedJson, 2504 { "_respondWithMalformedJson", _RespondWithMalformedJson,
2491 NULL }, 2505 NULL },
2492 { "_respondWithMalformedObject", _RespondWithMalformedObject, 2506 { "_respondWithMalformedObject", _RespondWithMalformedObject,
2493 NULL }, 2507 NULL },
2494 { "_triggerEchoEvent", _TriggerEchoEvent, 2508 { "_triggerEchoEvent", _TriggerEchoEvent,
2495 NULL }, 2509 NULL },
2496 { "addBreakpoint", AddBreakpoint, 2510 { "addBreakpoint", AddBreakpoint,
2497 add_breakpoint_params }, 2511 add_breakpoint_params },
2498 { "addBreakpointAtEntry", AddBreakpointAtEntry, 2512 { "addBreakpointAtEntry", AddBreakpointAtEntry,
2499 add_breakpoint_at_entry_params }, 2513 add_breakpoint_at_entry_params },
2514 { "clearCpuProfile", ClearCpuProfile,
2515 clear_cpu_profile_params },
2500 { "eval", Eval, 2516 { "eval", Eval,
2501 eval_params }, 2517 eval_params },
2502 { "getAllocationProfile", GetAllocationProfile, 2518 { "getAllocationProfile", GetAllocationProfile,
2503 get_allocation_profile_params }, 2519 get_allocation_profile_params },
2504 { "getBreakpoints", GetBreakpoints, 2520 { "getBreakpoints", GetBreakpoints,
2505 get_breakpoints_params }, 2521 get_breakpoints_params },
2506 { "getCallSiteData", GetCallSiteData, 2522 { "getCallSiteData", GetCallSiteData,
2507 get_call_site_data_params }, 2523 get_call_site_data_params },
2508 { "getClassList", GetClassList, 2524 { "getClassList", GetClassList,
2509 get_class_list_params }, 2525 get_class_list_params },
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
2565 ServiceMethodDescriptor& method = service_methods_[i]; 2581 ServiceMethodDescriptor& method = service_methods_[i];
2566 if (strcmp(method_name, method.name) == 0) { 2582 if (strcmp(method_name, method.name) == 0) {
2567 return &method; 2583 return &method;
2568 } 2584 }
2569 } 2585 }
2570 return NULL; 2586 return NULL;
2571 } 2587 }
2572 2588
2573 2589
2574 } // namespace dart 2590 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/scope_timer.h ('k') | runtime/vm/service_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698