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

Unified Diff: runtime/observatory/lib/src/service/object.dart

Issue 2194383002: Converted Observatory code-ref function-ref element (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fixed CSS problem Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: runtime/observatory/lib/src/service/object.dart
diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart
index 8cff98b4b1c80ed16b79466a26a72effb1a7fe19..515fa9d2b4f1497244f292ff76af0765692a7c57 100644
--- a/runtime/observatory/lib/src/service/object.dart
+++ b/runtime/observatory/lib/src/service/object.dart
@@ -2604,65 +2604,35 @@ class Context extends HeapObject {
String toString() => 'Context($length)';
}
-
-// TODO(koda): Sync this with VM.
-class FunctionKind {
- final String _strValue;
- FunctionKind._internal(this._strValue);
- toString() => _strValue;
- bool isSynthetic() => [kCollected, kNative, kStub, kTag].contains(this);
- bool isDart() => !isSynthetic();
- bool isStub() => (this == kStub);
- bool hasDartCode() => isDart() || isStub();
- static FunctionKind fromJSON(String value) {
- switch(value) {
- case 'RegularFunction': return kRegularFunction;
- case 'ClosureFunction': return kClosureFunction;
- case 'GetterFunction': return kGetterFunction;
- case 'SetterFunction': return kSetterFunction;
- case 'Constructor': return kConstructor;
- case 'ImplicitGetter': return kImplicitGetterFunction;
- case 'ImplicitSetter': return kImplicitSetterFunction;
- case 'ImplicitStaticFinalGetter': return kImplicitStaticFinalGetter;
- case 'IrregexpFunction': return kIrregexpFunction;
- case 'StaticInitializer': return kStaticInitializer;
- case 'MethodExtractor': return kMethodExtractor;
- case 'NoSuchMethodDispatcher': return kNoSuchMethodDispatcher;
- case 'InvokeFieldDispatcher': return kInvokeFieldDispatcher;
- case 'Collected': return kCollected;
- case 'Native': return kNative;
- case 'Stub': return kStub;
- case 'Tag': return kTag;
- case 'SignatureFunction': return kSignatureFunction;
- }
- Logger.root.severe('Unrecognized function kind: $value');
- throw new FallThroughError();
- }
-
- static FunctionKind kRegularFunction = new FunctionKind._internal('function');
- static FunctionKind kClosureFunction = new FunctionKind._internal('closure function');
- static FunctionKind kGetterFunction = new FunctionKind._internal('getter function');
- static FunctionKind kSetterFunction = new FunctionKind._internal('setter function');
- static FunctionKind kConstructor = new FunctionKind._internal('constructor');
- static FunctionKind kImplicitGetterFunction = new FunctionKind._internal('implicit getter function');
- static FunctionKind kImplicitSetterFunction = new FunctionKind._internal('implicit setter function');
- static FunctionKind kImplicitStaticFinalGetter = new FunctionKind._internal('implicit static final getter');
- static FunctionKind kIrregexpFunction = new FunctionKind._internal('ir regexp function');
- static FunctionKind kStaticInitializer = new FunctionKind._internal('static initializer');
- static FunctionKind kMethodExtractor = new FunctionKind._internal('method extractor');
- static FunctionKind kNoSuchMethodDispatcher = new FunctionKind._internal('noSuchMethod dispatcher');
- static FunctionKind kInvokeFieldDispatcher = new FunctionKind._internal('invoke field dispatcher');
- static FunctionKind kCollected = new FunctionKind._internal('Collected');
- static FunctionKind kNative = new FunctionKind._internal('Native');
- static FunctionKind kTag = new FunctionKind._internal('Tag');
- static FunctionKind kStub = new FunctionKind._internal('Stub');
- static FunctionKind kSignatureFunction = new FunctionKind._internal('SignatureFunction');
- static FunctionKind kUNKNOWN = new FunctionKind._internal('UNKNOWN');
+M.FunctionKind stringToFunctionKind(String value) {
+ switch(value) {
+ case 'RegularFunction': return M.FunctionKind.regular;
+ case 'ClosureFunction': return M.FunctionKind.closure;
+ case 'GetterFunction': return M.FunctionKind.getter;
+ case 'SetterFunction': return M.FunctionKind.setter;
+ case 'Constructor': return M.FunctionKind.constructor;
+ case 'ImplicitGetter': return M.FunctionKind.implicitGetter;
+ case 'ImplicitSetter': return M.FunctionKind.implicitSetter;
+ case 'ImplicitStaticFinalGetter':
+ return M.FunctionKind.implicitStaticFinalGetter;
+ case 'IrregexpFunction': return M.FunctionKind.irregexpFunction;
+ case 'StaticInitializer': return M.FunctionKind.staticInitializer;
+ case 'MethodExtractor': return M.FunctionKind.methodExtractor;
+ case 'NoSuchMethodDispatcher': return M.FunctionKind.noSuchMethodDispatcher;
+ case 'InvokeFieldDispatcher': return M.FunctionKind.invokeFieldDispatcher;
+ case 'Collected': return M.FunctionKind.collected;
+ case 'Native': return M.FunctionKind.native;
+ case 'Stub': return M.FunctionKind.stub;
+ case 'Tag': return M.FunctionKind.tag;
+ case 'SignatureFunction': return M.FunctionKind.signatureFunction;
+ }
+ Logger.root.severe('Unrecognized function kind: $value');
+ throw new FallThroughError();
}
-class ServiceFunction extends HeapObject {
+class ServiceFunction extends HeapObject implements M.Function {
// owner is a Library, Class, or ServiceFunction.
- @observable ServiceObject dartOwner;
+ @observable M.ObjectRef dartOwner;
@observable Library library;
@observable bool isStatic;
@observable bool isConst;
@@ -2674,7 +2644,7 @@ class ServiceFunction extends HeapObject {
@observable bool hasIntrinsic;
@observable bool isRecognized;
@observable bool isNative;
- @observable FunctionKind kind;
+ @observable M.FunctionKind kind;
@observable int deoptimizations;
@observable String qualifiedName;
@observable int usageCounter;
@@ -2696,8 +2666,8 @@ class ServiceFunction extends HeapObject {
vmName = (map.containsKey('_vmName') ? map['_vmName'] : name);
dartOwner = map['owner'];
- kind = FunctionKind.fromJSON(map['_kind']);
- isDart = kind.isDart();
+ kind = stringToFunctionKind(map['_kind']);
+ isDart = M.isDartFunction(kind);
if (dartOwner is ServiceFunction) {
ServiceFunction ownerFunction = dartOwner;
@@ -3550,32 +3520,20 @@ class CodeInstruction extends Observable {
}
}
-class CodeKind {
- final _value;
- const CodeKind._internal(this._value);
- String toString() => '$_value';
- bool isSynthetic() => [Collected, Native, Tag].contains(this);
- bool isDart() => !isSynthetic();
- static CodeKind fromString(String s) {
- if (s == 'Native') {
- return Native;
- } else if (s == 'Dart') {
- return Dart;
- } else if (s == 'Collected') {
- return Collected;
- } else if (s == 'Tag') {
- return Tag;
- } else if (s == 'Stub') {
- return Stub;
- }
- Logger.root.severe("Unrecognized code kind: '$s'");
- throw new FallThroughError();
- }
- static const Collected = const CodeKind._internal('Collected');
- static const Dart = const CodeKind._internal('Dart');
- static const Native = const CodeKind._internal('Native');
- static const Stub = const CodeKind._internal('Stub');
- static const Tag = const CodeKind._internal('Tag');
+M.CodeKind stringToCodeKind(String s) {
+ if (s == 'Native') {
+ return M.CodeKind.native;
+ } else if (s == 'Dart') {
+ return M.CodeKind.dart;
+ } else if (s == 'Collected') {
+ return M.CodeKind.collected;
+ } else if (s == 'Tag') {
+ return M.CodeKind.tag;
+ } else if (s == 'Stub') {
+ return M.CodeKind.stub;
+ }
+ Logger.root.severe("Unrecognized code kind: '$s'");
+ throw new FallThroughError();
}
class CodeInlineInterval {
@@ -3586,8 +3544,8 @@ class CodeInlineInterval {
CodeInlineInterval(this.start, this.end);
}
-class Code extends HeapObject {
- @observable CodeKind kind;
+class Code extends HeapObject implements M.Code {
+ @observable M.CodeKind kind;
@observable ServiceObject objectPool;
@observable ServiceFunction function;
@observable Script script;
@@ -3624,7 +3582,7 @@ class Code extends HeapObject {
// Already done.
return;
}
- if (kind != CodeKind.Dart){
+ if (kind != M.CodeKind.dart){
return;
}
if (function == null) {
@@ -3663,7 +3621,7 @@ class Code extends HeapObject {
name = m['name'];
vmName = (m.containsKey('_vmName') ? m['_vmName'] : name);
isOptimized = m['_optimized'];
- kind = CodeKind.fromString(m['kind']);
+ kind = stringToCodeKind(m['kind']);
hasIntrinsic = m['_intrinsic'];
isNative = m['_native'];
if (mapIsRef) {
@@ -3683,7 +3641,7 @@ class Code extends HeapObject {
descriptors = descriptors['members'];
_processDescriptors(descriptors);
}
- hasDisassembly = (instructions.length != 0) && (kind == CodeKind.Dart);
+ hasDisassembly = (instructions.length != 0) && (kind == M.CodeKind.dart);
inlinedFunctions.clear();
var inlinedFunctionsTable = m['_inlinedFunctions'];
var inlinedIntervals = m['_inlinedIntervals'];
@@ -3801,8 +3759,8 @@ class Code extends HeapObject {
return (address >= startAddress) && (address < endAddress);
}
- @reflectable bool get isDartCode => (kind == CodeKind.Dart) ||
- (kind == CodeKind.Stub);
+ @reflectable bool get isDartCode => (kind == M.CodeKind.dart) ||
+ (kind == M.CodeKind.stub);
String toString() => 'Code($kind, $name)';
}
« no previous file with comments | « runtime/observatory/lib/src/models/objects/function.dart ('k') | runtime/observatory/observatory_sources.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698