OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 part of service; | 5 part of service; |
6 | 6 |
7 // Some value smaller than the object ring, so requesting a large array | 7 // Some value smaller than the object ring, so requesting a large array |
8 // doesn't result in an expired ref because the elements lapped it in the | 8 // doesn't result in an expired ref because the elements lapped it in the |
9 // object ring. | 9 // object ring. |
10 const int kDefaultFieldLimit = 100; | 10 const int kDefaultFieldLimit = 100; |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 obj = new ObjectPool._empty(owner); | 246 obj = new ObjectPool._empty(owner); |
247 break; | 247 break; |
248 case 'PcDescriptors': | 248 case 'PcDescriptors': |
249 obj = new PcDescriptors._empty(owner); | 249 obj = new PcDescriptors._empty(owner); |
250 break; | 250 break; |
251 case 'TokenStream': | 251 case 'TokenStream': |
252 obj = new TokenStream._empty(owner); | 252 obj = new TokenStream._empty(owner); |
253 break; | 253 break; |
254 } | 254 } |
255 break; | 255 break; |
256 case '_ObjectStore': | |
257 obj = new ObjectStore._empty(owner); | |
258 break; | |
259 case 'Event': | 256 case 'Event': |
260 obj = new ServiceEvent._empty(owner); | 257 obj = new ServiceEvent._empty(owner); |
261 break; | 258 break; |
262 case 'Script': | 259 case 'Script': |
263 obj = new Script._empty(owner); | 260 obj = new Script._empty(owner); |
264 break; | 261 break; |
265 case 'Socket': | 262 case 'Socket': |
266 obj = new Socket._empty(owner); | 263 obj = new Socket._empty(owner); |
267 break; | 264 break; |
268 case 'Instance': | 265 case 'Instance': |
(...skipping 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1330 | 1327 |
1331 Future<ObservableMap> _fetchDirect({int count: kDefaultFieldLimit}) async { | 1328 Future<ObservableMap> _fetchDirect({int count: kDefaultFieldLimit}) async { |
1332 return invokeRpcNoUpgrade('getIsolate', {}); | 1329 return invokeRpcNoUpgrade('getIsolate', {}); |
1333 } | 1330 } |
1334 | 1331 |
1335 @observable Class objectClass; | 1332 @observable Class objectClass; |
1336 @observable final rootClasses = new ObservableList<Class>(); | 1333 @observable final rootClasses = new ObservableList<Class>(); |
1337 Map<int, Class> _classesByCid = new Map<int, Class>(); | 1334 Map<int, Class> _classesByCid = new Map<int, Class>(); |
1338 | 1335 |
1339 @observable Library rootLibrary; | 1336 @observable Library rootLibrary; |
1340 @observable ObjectStore objectStore; | |
1341 @observable ObservableList<Library> libraries = | 1337 @observable ObservableList<Library> libraries = |
1342 new ObservableList<Library>(); | 1338 new ObservableList<Library>(); |
1343 @observable Frame topFrame; | 1339 @observable Frame topFrame; |
1344 | 1340 |
1345 @observable String name; | 1341 @observable String name; |
1346 @observable String vmName; | 1342 @observable String vmName; |
1347 @observable ServiceFunction entry; | 1343 @observable ServiceFunction entry; |
1348 | 1344 |
1349 final HeapSpace newSpace = new HeapSpace(); | 1345 final HeapSpace newSpace = new HeapSpace(); |
1350 final HeapSpace oldSpace = new HeapSpace(); | 1346 final HeapSpace oldSpace = new HeapSpace(); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1412 number = int.parse(map['number'], onError:(_) => null); | 1408 number = int.parse(map['number'], onError:(_) => null); |
1413 if (mapIsRef) { | 1409 if (mapIsRef) { |
1414 return; | 1410 return; |
1415 } | 1411 } |
1416 _loaded = true; | 1412 _loaded = true; |
1417 loading = false; | 1413 loading = false; |
1418 runnable = map['runnable'] == true; | 1414 runnable = map['runnable'] == true; |
1419 _upgradeCollection(map, isolate); | 1415 _upgradeCollection(map, isolate); |
1420 originNumber = int.parse(map['_originNumber'], onError:(_) => null); | 1416 originNumber = int.parse(map['_originNumber'], onError:(_) => null); |
1421 rootLibrary = map['rootLib']; | 1417 rootLibrary = map['rootLib']; |
1422 objectStore = map['_objectStore']; | |
1423 if (map['entry'] != null) { | 1418 if (map['entry'] != null) { |
1424 entry = map['entry']; | 1419 entry = map['entry']; |
1425 } | 1420 } |
1426 var savedStartTime = startTime; | 1421 var savedStartTime = startTime; |
1427 int startTimeInMillis = map['startTime']; | 1422 int startTimeInMillis = map['startTime']; |
1428 startTime = new DateTime.fromMillisecondsSinceEpoch(startTimeInMillis); | 1423 startTime = new DateTime.fromMillisecondsSinceEpoch(startTimeInMillis); |
1429 notifyPropertyChange(#upTime, 0, 1); | 1424 notifyPropertyChange(#upTime, 0, 1); |
1430 var countersMap = map['_tagCounters']; | 1425 var countersMap = map['_tagCounters']; |
1431 if (countersMap != null) { | 1426 if (countersMap != null) { |
1432 var names = countersMap['names']; | 1427 var names = countersMap['names']; |
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1742 return _refreshMetrics('Native', nativeMetrics); | 1737 return _refreshMetrics('Native', nativeMetrics); |
1743 } | 1738 } |
1744 | 1739 |
1745 Future refreshMetrics() { | 1740 Future refreshMetrics() { |
1746 return Future.wait([refreshDartMetrics(), refreshNativeMetrics()]); | 1741 return Future.wait([refreshDartMetrics(), refreshNativeMetrics()]); |
1747 } | 1742 } |
1748 | 1743 |
1749 String toString() => "Isolate($name)"; | 1744 String toString() => "Isolate($name)"; |
1750 } | 1745 } |
1751 | 1746 |
1752 | |
1753 class NamedField { | |
1754 final String name; | |
1755 final ServiceObject value; | |
1756 NamedField(this.name, this.value); | |
1757 } | |
1758 | |
1759 | |
1760 class ObjectStore extends ServiceObject { | |
1761 @observable List<NamedField> fields = new List<NamedField>(); | |
1762 | |
1763 ObjectStore._empty(ServiceObjectOwner owner) : super._empty(owner); | |
1764 | |
1765 void _update(ObservableMap map, bool mapIsRef) { | |
1766 // Extract full properties. | |
1767 _upgradeCollection(map, isolate); | |
1768 | |
1769 if (mapIsRef) { | |
1770 return; | |
1771 } | |
1772 | |
1773 fields.clear(); | |
1774 map['fields'].forEach((key, value) { | |
1775 fields.add(new NamedField(key, value)); | |
1776 }); | |
1777 _loaded = true; | |
1778 } | |
1779 } | |
1780 | |
1781 | |
1782 /// A [ServiceObject] which implements [ObservableMap]. | 1747 /// A [ServiceObject] which implements [ObservableMap]. |
1783 class ServiceMap extends ServiceObject implements ObservableMap { | 1748 class ServiceMap extends ServiceObject implements ObservableMap { |
1784 final ObservableMap _map = new ObservableMap(); | 1749 final ObservableMap _map = new ObservableMap(); |
1785 static String objectIdRingPrefix = 'objects/'; | 1750 static String objectIdRingPrefix = 'objects/'; |
1786 | 1751 |
1787 bool get canCache { | 1752 bool get canCache { |
1788 return (_type == 'Class' || | 1753 return (_type == 'Class' || |
1789 _type == 'Function' || | 1754 _type == 'Function' || |
1790 _type == 'Field') && | 1755 _type == 'Field') && |
1791 !_id.startsWith(objectIdRingPrefix); | 1756 !_id.startsWith(objectIdRingPrefix); |
(...skipping 2316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4108 var v = list[i]; | 4073 var v = list[i]; |
4109 if ((v is ObservableMap) && _isServiceMap(v)) { | 4074 if ((v is ObservableMap) && _isServiceMap(v)) { |
4110 list[i] = owner.getFromMap(v); | 4075 list[i] = owner.getFromMap(v); |
4111 } else if (v is ObservableList) { | 4076 } else if (v is ObservableList) { |
4112 _upgradeObservableList(v, owner); | 4077 _upgradeObservableList(v, owner); |
4113 } else if (v is ObservableMap) { | 4078 } else if (v is ObservableMap) { |
4114 _upgradeObservableMap(v, owner); | 4079 _upgradeObservableMap(v, owner); |
4115 } | 4080 } |
4116 } | 4081 } |
4117 } | 4082 } |
OLD | NEW |