Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: runtime/observatory/lib/src/service/object.dart

Issue 2212253002: Converted Observatory class-tree element (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Removed tmp code Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 2234 matching lines...) Expand 10 before | Expand all | Expand 10 after
2245 void update(List stats) { 2245 void update(List stats) {
2246 accumulated.instances = stats[ACCUMULATED]; 2246 accumulated.instances = stats[ACCUMULATED];
2247 accumulated.bytes = stats[ACCUMULATED_SIZE]; 2247 accumulated.bytes = stats[ACCUMULATED_SIZE];
2248 current.instances = stats[LIVE_AFTER_GC] + stats[ALLOCATED_SINCE_GC]; 2248 current.instances = stats[LIVE_AFTER_GC] + stats[ALLOCATED_SINCE_GC];
2249 current.bytes = stats[LIVE_AFTER_GC_SIZE] + stats[ALLOCATED_SINCE_GC_SIZE]; 2249 current.bytes = stats[LIVE_AFTER_GC_SIZE] + stats[ALLOCATED_SINCE_GC_SIZE];
2250 } 2250 }
2251 2251
2252 bool get empty => accumulated.empty && current.empty; 2252 bool get empty => accumulated.empty && current.empty;
2253 } 2253 }
2254 2254
2255 class Class extends HeapObject implements M.ClassRef { 2255 class Class extends HeapObject implements M.Class {
2256 @observable Library library; 2256 @observable Library library;
2257 2257
2258 @observable bool isAbstract; 2258 @observable bool isAbstract;
2259 @observable bool isConst; 2259 @observable bool isConst;
2260 @observable bool isFinalized; 2260 @observable bool isFinalized;
2261 @observable bool isPatch; 2261 @observable bool isPatch;
2262 @observable bool isImplemented; 2262 @observable bool isImplemented;
2263 2263
2264 @observable SourceLocation location; 2264 @observable SourceLocation location;
2265 2265
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
2383 2383
2384 Future<ServiceObject> getAllocationSamples([String tags = 'None']) { 2384 Future<ServiceObject> getAllocationSamples([String tags = 'None']) {
2385 var params = { 'tags': tags, 2385 var params = { 'tags': tags,
2386 'classId': id }; 2386 'classId': id };
2387 return isolate.invokeRpc('_getAllocationSamples', params); 2387 return isolate.invokeRpc('_getAllocationSamples', params);
2388 } 2388 }
2389 2389
2390 String toString() => 'Class($vmName)'; 2390 String toString() => 'Class($vmName)';
2391 } 2391 }
2392 2392
2393 class Instance extends HeapObject implements M.InstanceRef { 2393 class Instance extends HeapObject implements M.Instance {
2394 @observable String kind; 2394 @observable String kind;
2395 @observable String valueAsString; // If primitive. 2395 @observable String valueAsString; // If primitive.
2396 @observable bool valueAsStringIsTruncated; 2396 @observable bool valueAsStringIsTruncated;
2397 @observable ServiceFunction function; // If a closure. 2397 @observable ServiceFunction function; // If a closure.
2398 @observable Context context; // If a closure. 2398 @observable Context context; // If a closure.
2399 @observable int length; // If a List, Map or TypedData. 2399 @observable int length; // If a List, Map or TypedData.
2400 @observable Instance pattern; // If a RegExp. 2400 @observable Instance pattern; // If a RegExp.
2401 2401
2402 @observable String name; 2402 @observable String name;
2403 @observable Class typeClass; 2403 @observable Class typeClass;
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
2482 return (clazz.name == 'OutOfMemoryError') && clazz.library.isDart('core'); 2482 return (clazz.name == 'OutOfMemoryError') && clazz.library.isDart('core');
2483 } 2483 }
2484 2484
2485 // TODO(turnidge): Is this properly backwards compatible when new 2485 // TODO(turnidge): Is this properly backwards compatible when new
2486 // instance kinds are added? 2486 // instance kinds are added?
2487 bool get isPlainInstance => kind == 'PlainInstance'; 2487 bool get isPlainInstance => kind == 'PlainInstance';
2488 2488
2489 Instance._empty(ServiceObjectOwner owner) : super._empty(owner); 2489 Instance._empty(ServiceObjectOwner owner) : super._empty(owner);
2490 2490
2491 void _update(ObservableMap map, bool mapIsRef) { 2491 void _update(ObservableMap map, bool mapIsRef) {
2492 // Extract full properties. 2492 // Extract full properties.1
2493 _upgradeCollection(map, isolate); 2493 _upgradeCollection(map, isolate);
2494 super._update(map, mapIsRef); 2494 super._update(map, mapIsRef);
2495 2495
2496 kind = map['kind']; 2496 kind = map['kind'];
2497 valueAsString = map['valueAsString']; 2497 valueAsString = map['valueAsString'];
2498 // Coerce absence to false. 2498 // Coerce absence to false.
2499 valueAsStringIsTruncated = map['valueAsStringIsTruncated'] == true; 2499 valueAsStringIsTruncated = map['valueAsStringIsTruncated'] == true;
2500 function = map['closureFunction']; 2500 function = map['closureFunction'];
2501 context = map['closureContext']; 2501 context = map['closureContext'];
2502 name = map['name']; 2502 name = map['name'];
2503 length = map['length']; 2503 length = map['length'];
2504 pattern = map['pattern']; 2504 pattern = map['pattern'];
2505 typeClass = map['typeClass'];
2505 2506
2506 if (mapIsRef) { 2507 if (mapIsRef) {
2507 return; 2508 return;
2508 } 2509 }
2509 2510
2510 isCaseSensitive = map['isCaseSensitive']; 2511 isCaseSensitive = map['isCaseSensitive'];
2511 isMultiLine = map['isMultiLine']; 2512 isMultiLine = map['isMultiLine'];
2512 bool isCompiled = map['_oneByteFunction'] is ServiceFunction; 2513 bool isCompiled = map['_oneByteFunction'] is ServiceFunction;
2513 oneByteFunction = isCompiled ? map['_oneByteFunction'] : null; 2514 oneByteFunction = isCompiled ? map['_oneByteFunction'] : null;
2514 twoByteFunction = isCompiled ? map['_twoByteFunction'] : null; 2515 twoByteFunction = isCompiled ? map['_twoByteFunction'] : null;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
2547 case "Float64List": 2548 case "Float64List":
2548 typedElements = bytes.buffer.asFloat64List(); break; 2549 typedElements = bytes.buffer.asFloat64List(); break;
2549 case "Int32x4List": 2550 case "Int32x4List":
2550 typedElements = bytes.buffer.asInt32x4List(); break; 2551 typedElements = bytes.buffer.asInt32x4List(); break;
2551 case "Float32x4List": 2552 case "Float32x4List":
2552 typedElements = bytes.buffer.asFloat32x4List(); break; 2553 typedElements = bytes.buffer.asFloat32x4List(); break;
2553 case "Float64x2List": 2554 case "Float64x2List":
2554 typedElements = bytes.buffer.asFloat64x2List(); break; 2555 typedElements = bytes.buffer.asFloat64x2List(); break;
2555 } 2556 }
2556 } 2557 }
2557 typeClass = map['typeClass'];
2558 parameterizedClass = map['parameterizedClass']; 2558 parameterizedClass = map['parameterizedClass'];
2559 typeArguments = map['typeArguments']; 2559 typeArguments = map['typeArguments'];
2560 parameterIndex = map['parameterIndex']; 2560 parameterIndex = map['parameterIndex'];
2561 targetType = map['targetType']; 2561 targetType = map['targetType'];
2562 bound = map['bound']; 2562 bound = map['bound'];
2563 2563
2564 referent = map['mirrorReferent']; 2564 referent = map['mirrorReferent'];
2565 key = map['propertyKey']; 2565 key = map['propertyKey'];
2566 value = map['propertyValue']; 2566 value = map['propertyValue'];
2567 activationBreakpoint = map['_activationBreakpoint']; 2567 activationBreakpoint = map['_activationBreakpoint'];
(...skipping 1526 matching lines...) Expand 10 before | Expand all | Expand 10 after
4094 var v = list[i]; 4094 var v = list[i];
4095 if ((v is ObservableMap) && _isServiceMap(v)) { 4095 if ((v is ObservableMap) && _isServiceMap(v)) {
4096 list[i] = owner.getFromMap(v); 4096 list[i] = owner.getFromMap(v);
4097 } else if (v is ObservableList) { 4097 } else if (v is ObservableList) {
4098 _upgradeObservableList(v, owner); 4098 _upgradeObservableList(v, owner);
4099 } else if (v is ObservableMap) { 4099 } else if (v is ObservableMap) {
4100 _upgradeObservableMap(v, owner); 4100 _upgradeObservableMap(v, owner);
4101 } 4101 }
4102 } 4102 }
4103 } 4103 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/repositories/instance.dart ('k') | runtime/observatory/observatory_sources.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698