| Index: runtime/vm/service.cc
|
| diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc
|
| index be4bd31e197364af831d05df3b095d19ff40f326..d35bdba7c2bcf032adc8cd7cbac4a336c91fd012 100644
|
| --- a/runtime/vm/service.cc
|
| +++ b/runtime/vm/service.cc
|
| @@ -29,6 +29,7 @@
|
| #include "vm/object_store.h"
|
| #include "vm/parser.h"
|
| #include "vm/port.h"
|
| +#include "vm/profiler.h"
|
| #include "vm/profiler_service.h"
|
| #include "vm/reusable_handles.h"
|
| #include "vm/safepoint.h"
|
| @@ -3121,6 +3122,19 @@ static bool Pause(Thread* thread, JSONStream* js) {
|
| return true;
|
| }
|
|
|
| +static const MethodParameter* enable_profiler_params[] = {
|
| + NULL,
|
| +};
|
| +
|
| +static bool EnableProfiler(Thread* thread, JSONStream* js) {
|
| + if (!FLAG_profiler) {
|
| + FLAG_profiler = true;
|
| + Profiler::InitOnce();
|
| + }
|
| + PrintSuccess(js);
|
| + return true;
|
| +}
|
| +
|
| static const MethodParameter* get_tag_profile_params[] = {
|
| RUNNABLE_ISOLATE_PARAMETER, NULL,
|
| };
|
| @@ -4022,6 +4036,8 @@ static const ServiceMethodDescriptor service_methods_[] = {
|
| clear_cpu_profile_params },
|
| { "_clearVMTimeline", ClearVMTimeline,
|
| clear_vm_timeline_params, },
|
| + { "_enableProfiler", EnableProfiler,
|
| + enable_profiler_params, },
|
| { "evaluate", Evaluate,
|
| evaluate_params },
|
| { "evaluateInFrame", EvaluateInFrame,
|
|
|