Chromium Code Reviews| Index: runtime/observatory/lib/src/cpu_profile/cpu_profile.dart |
| diff --git a/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart b/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart |
| index c71a41ed77b47492aaec4acb0b287e8e30bbc68a..d3e0252d10cd1d23a640242f1edc3c3573940148 100644 |
| --- a/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart |
| +++ b/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart |
| @@ -370,15 +370,22 @@ class ProfileCode { |
| code.profile = this; |
| - if (code.isDartCode) { |
| + if (code.kind == CodeKind.Stub) { |
| + attributes.add('stub'); |
| + } else if (code.kind == CodeKind.Dart) { |
| + if (code.isNative) { |
| + attributes.add('ffi'); // Not to be confused with a C function. |
| + } else { |
| + attributes.add('dart'); |
| + } |
| + if (code.hasIntrinsic) { |
| + attributes.add('intrinsic'); |
| + } |
| if (code.isOptimized) { |
| attributes.add('optimized'); |
| } else { |
| attributes.add('unoptimized'); |
| } |
| - } |
| - if (code.isDartCode) { |
| - attributes.add('dart'); |
| } else if (code.kind == CodeKind.Tag) { |
| attributes.add('tag'); |
| } else if (code.kind == CodeKind.Native) { |
| @@ -516,15 +523,19 @@ class ProfileFunction { |
| if (function.kind == FunctionKind.kTag) { |
| attribs.add('tag'); |
| } else if (function.kind == FunctionKind.kStub) { |
| - attribs.add('dart'); |
| attribs.add('stub'); |
| } else if (function.kind == FunctionKind.kNative) { |
| attribs.add('native'); |
| } else if (function.kind.isSynthetic()) { |
| attribs.add('synthetic'); |
| + } else if (function.isNative) { |
| + attribs.add('ffi'); // Not to be confused with a C function. |
| } else { |
| attribs.add('dart'); |
| } |
| + if (function.hasIntrinsic == true) { |
|
rmacnak
2015/11/12 02:15:13
Hit checked mode error, which suggests this someti
Cutch
2015/11/12 17:33:52
Maybe rewrite to:
if ((function is ServiceFunctio
rmacnak
2015/11/12 21:50:46
It's hasIntrinsic that's null, not function.
|
| + attribs.add('intrinsic'); |
| + } |
| } |
| ProfileFunction.fromMap(this.profile, this.function, Map data) { |