| Index: runtime/vm/service.cc
|
| diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc
|
| index 2e96b66bf84085e085f7ecc609f8285e18a0b262..6b8afb7ad8937da7fe435ff75251279431c325bf 100644
|
| --- a/runtime/vm/service.cc
|
| +++ b/runtime/vm/service.cc
|
| @@ -3235,6 +3235,28 @@ static bool GetAllocationSamples(Thread* thread, JSONStream* js) {
|
| }
|
|
|
|
|
| +static const MethodParameter* get_native_allocation_samples_params[] = {
|
| + NO_ISOLATE_PARAMETER,
|
| + new EnumParameter("tags", true, tags_enum_names),
|
| + new Int64Parameter("timeOriginMicros", false),
|
| + new Int64Parameter("timeExtentMicros", false),
|
| + NULL,
|
| +};
|
| +
|
| +
|
| +static bool GetNativeAllocationSamples(Thread* thread, JSONStream* js) {
|
| + Profile::TagOrder tag_order =
|
| + EnumMapper(js->LookupParam("tags"), tags_enum_names, tags_enum_values);
|
| + int64_t time_origin_micros =
|
| + Int64Parameter::Parse(js->LookupParam("timeOriginMicros"));
|
| + int64_t time_extent_micros =
|
| + Int64Parameter::Parse(js->LookupParam("timeExtentMicros"));
|
| + ProfilerService::PrintNativeAllocationJSON(js, tag_order, time_origin_micros,
|
| + time_extent_micros);
|
| + return true;
|
| +}
|
| +
|
| +
|
| static const MethodParameter* clear_cpu_profile_params[] = {
|
| RUNNABLE_ISOLATE_PARAMETER, NULL,
|
| };
|
| @@ -4057,6 +4079,8 @@ static const ServiceMethodDescriptor service_methods_[] = {
|
| get_allocation_profile_params },
|
| { "_getAllocationSamples", GetAllocationSamples,
|
| get_allocation_samples_params },
|
| + { "_getNativeAllocationSamples", GetNativeAllocationSamples,
|
| + get_native_allocation_samples_params },
|
| { "getClassList", GetClassList,
|
| get_class_list_params },
|
| { "_getCpuProfile", GetCpuProfile,
|
|
|