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 1ce26489a63823acd61262e8d430f0735330f113..87c4213219abeefdbf20c4beaea149013ea1ab09 100644 |
--- a/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart |
+++ b/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart |
@@ -477,9 +477,11 @@ class ProfileCode implements M.ProfileCode { |
assert(profileTicks != null); |
assert((profileTicks.length % 3) == 0); |
for (var i = 0; i < profileTicks.length; i += 3) { |
+ // TODO(observatory): Address is not necessarily representable as a JS |
+ // integer. |
var address = int.parse(profileTicks[i], radix: 16); |
- var exclusive = int.parse(profileTicks[i + 1]); |
- var inclusive = int.parse(profileTicks[i + 2]); |
+ var exclusive = profileTicks[i + 1]; |
+ var inclusive = profileTicks[i + 2]; |
var tick = new CodeTick(exclusive, inclusive); |
addressTicks[address] = tick; |
@@ -524,8 +526,8 @@ class ProfileCode implements M.ProfileCode { |
} else if (code.kind == M.CodeKind.native) { |
attributes.add('native'); |
} |
- inclusiveTicks = int.parse(data['inclusiveTicks']); |
- exclusiveTicks = int.parse(data['exclusiveTicks']); |
+ inclusiveTicks = data['inclusiveTicks']; |
+ exclusiveTicks = data['exclusiveTicks']; |
normalizedExclusiveTicks = exclusiveTicks / profile.sampleCount; |
@@ -690,8 +692,8 @@ class ProfileFunction implements M.ProfileFunction { |
profileCodes.sort(_sortCodes); |
_addKindBasedAttributes(attributes); |
- exclusiveTicks = int.parse(data['exclusiveTicks']); |
- inclusiveTicks = int.parse(data['inclusiveTicks']); |
+ exclusiveTicks = data['exclusiveTicks']; |
+ inclusiveTicks = data['inclusiveTicks']; |
normalizedExclusiveTicks = exclusiveTicks / profile.sampleCount; |
normalizedInclusiveTicks = inclusiveTicks / profile.sampleCount; |