| 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 /// Helper function for canceling a Future<StreamSubscription>. | 7 /// Helper function for canceling a Future<StreamSubscription>. |
| 8 Future cancelFutureSubscription( | 8 Future cancelFutureSubscription( |
| 9 Future<StreamSubscription> subscriptionFuture) async { | 9 Future<StreamSubscription> subscriptionFuture) async { |
| 10 if (subscriptionFuture != null) { | 10 if (subscriptionFuture != null) { |
| (...skipping 1878 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1889 @observable SourceLocation location; | 1889 @observable SourceLocation location; |
| 1890 | 1890 |
| 1891 @observable ServiceMap error; | 1891 @observable ServiceMap error; |
| 1892 @observable int vmCid; | 1892 @observable int vmCid; |
| 1893 | 1893 |
| 1894 final Allocations newSpace = new Allocations(); | 1894 final Allocations newSpace = new Allocations(); |
| 1895 final Allocations oldSpace = new Allocations(); | 1895 final Allocations oldSpace = new Allocations(); |
| 1896 final AllocationCount promotedByLastNewGC = new AllocationCount(); | 1896 final AllocationCount promotedByLastNewGC = new AllocationCount(); |
| 1897 | 1897 |
| 1898 @observable bool get hasNoAllocations => newSpace.empty && oldSpace.empty; | 1898 @observable bool get hasNoAllocations => newSpace.empty && oldSpace.empty; |
| 1899 | 1899 @observable bool traceAllocations = false; |
| 1900 @reflectable final fields = new ObservableList<Field>(); | 1900 @reflectable final fields = new ObservableList<Field>(); |
| 1901 @reflectable final functions = new ObservableList<ServiceFunction>(); | 1901 @reflectable final functions = new ObservableList<ServiceFunction>(); |
| 1902 | 1902 |
| 1903 @observable Class superclass; | 1903 @observable Class superclass; |
| 1904 @reflectable final interfaces = new ObservableList<Instance>(); | 1904 @reflectable final interfaces = new ObservableList<Instance>(); |
| 1905 @reflectable final subclasses = new ObservableList<Class>(); | 1905 @reflectable final subclasses = new ObservableList<Class>(); |
| 1906 | 1906 |
| 1907 bool get canCache => true; | 1907 bool get canCache => true; |
| 1908 bool get immutable => false; | 1908 bool get immutable => false; |
| 1909 | 1909 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1956 functions.addAll(map['functions']); | 1956 functions.addAll(map['functions']); |
| 1957 functions.sort(ServiceObject.LexicalSortName); | 1957 functions.sort(ServiceObject.LexicalSortName); |
| 1958 | 1958 |
| 1959 superclass = map['super']; | 1959 superclass = map['super']; |
| 1960 // Work-around Object not tracking its subclasses in the VM. | 1960 // Work-around Object not tracking its subclasses in the VM. |
| 1961 if (superclass != null && superclass.name == "Object") { | 1961 if (superclass != null && superclass.name == "Object") { |
| 1962 superclass._addSubclass(this); | 1962 superclass._addSubclass(this); |
| 1963 } | 1963 } |
| 1964 error = map['error']; | 1964 error = map['error']; |
| 1965 | 1965 |
| 1966 traceAllocations = |
| 1967 (map['_traceAllocations'] != null) ? map['_traceAllocations'] : false; |
| 1968 |
| 1966 var allocationStats = map['_allocationStats']; | 1969 var allocationStats = map['_allocationStats']; |
| 1967 if (allocationStats != null) { | 1970 if (allocationStats != null) { |
| 1968 newSpace.update(allocationStats['new']); | 1971 newSpace.update(allocationStats['new']); |
| 1969 oldSpace.update(allocationStats['old']); | 1972 oldSpace.update(allocationStats['old']); |
| 1970 notifyPropertyChange(#hasNoAllocations, 0, 1); | 1973 notifyPropertyChange(#hasNoAllocations, 0, 1); |
| 1971 promotedByLastNewGC.instances = allocationStats['promotedInstances']; | 1974 promotedByLastNewGC.instances = allocationStats['promotedInstances']; |
| 1972 promotedByLastNewGC.bytes = allocationStats['promotedBytes']; | 1975 promotedByLastNewGC.bytes = allocationStats['promotedBytes']; |
| 1973 } | 1976 } |
| 1974 } | 1977 } |
| 1975 | 1978 |
| 1976 void _addSubclass(Class subclass) { | 1979 void _addSubclass(Class subclass) { |
| 1977 if (subclasses.contains(subclass)) { | 1980 if (subclasses.contains(subclass)) { |
| 1978 return; | 1981 return; |
| 1979 } | 1982 } |
| 1980 subclasses.add(subclass); | 1983 subclasses.add(subclass); |
| 1981 subclasses.sort(ServiceObject.LexicalSortName); | 1984 subclasses.sort(ServiceObject.LexicalSortName); |
| 1982 } | 1985 } |
| 1983 | 1986 |
| 1984 Future<ServiceObject> evaluate(String expression) { | 1987 Future<ServiceObject> evaluate(String expression) { |
| 1985 return isolate._eval(this, expression); | 1988 return isolate._eval(this, expression); |
| 1986 } | 1989 } |
| 1987 | 1990 |
| 1991 Future<ServiceObject> setTraceAllocations(bool enable) { |
| 1992 return isolate.invokeRpc('_setTraceClassAllocation', { |
| 1993 'enable': enable, |
| 1994 'classId': id, |
| 1995 }); |
| 1996 } |
| 1997 |
| 1998 Future<ServiceObject> getAllocationSamples([String tags = 'None']) { |
| 1999 var params = { 'tags': tags, |
| 2000 'classId': id }; |
| 2001 return isolate.invokeRpc('_getAllocationSamples', params); |
| 2002 } |
| 2003 |
| 1988 String toString() => 'Class($vmName)'; | 2004 String toString() => 'Class($vmName)'; |
| 1989 } | 2005 } |
| 1990 | 2006 |
| 1991 class Instance extends ServiceObject { | 2007 class Instance extends ServiceObject { |
| 1992 @observable String kind; | 2008 @observable String kind; |
| 1993 @observable Class clazz; | 2009 @observable Class clazz; |
| 1994 @observable int size; | 2010 @observable int size; |
| 1995 @observable int retainedSize; | 2011 @observable int retainedSize; |
| 1996 @observable String valueAsString; // If primitive. | 2012 @observable String valueAsString; // If primitive. |
| 1997 @observable bool valueAsStringIsTruncated; | 2013 @observable bool valueAsStringIsTruncated; |
| (...skipping 1558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3556 var v = list[i]; | 3572 var v = list[i]; |
| 3557 if ((v is ObservableMap) && _isServiceMap(v)) { | 3573 if ((v is ObservableMap) && _isServiceMap(v)) { |
| 3558 list[i] = owner.getFromMap(v); | 3574 list[i] = owner.getFromMap(v); |
| 3559 } else if (v is ObservableList) { | 3575 } else if (v is ObservableList) { |
| 3560 _upgradeObservableList(v, owner); | 3576 _upgradeObservableList(v, owner); |
| 3561 } else if (v is ObservableMap) { | 3577 } else if (v is ObservableMap) { |
| 3562 _upgradeObservableMap(v, owner); | 3578 _upgradeObservableMap(v, owner); |
| 3563 } | 3579 } |
| 3564 } | 3580 } |
| 3565 } | 3581 } |
| OLD | NEW |