| Index: runtime/vm/service/service.idl
|
| diff --git a/runtime/vm/service/service.idl b/runtime/vm/service/service.idl
|
| deleted file mode 100644
|
| index ec83f2159854796b14e8fd1447bcf1f3da90c5a2..0000000000000000000000000000000000000000
|
| --- a/runtime/vm/service/service.idl
|
| +++ /dev/null
|
| @@ -1,1140 +0,0 @@
|
| -// <h2>Connecting to the VM Service</h2>
|
| -//
|
| -// TODO(turnidge): Describe how to connect, etc.
|
| -//
|
| -// <h2>Types</h2>
|
| -//
|
| -// Every non-error response returned by the VM Service has the
|
| -// <code>type</code> property. This allows the client distinguish
|
| -// between different kinds of responses.
|
| -//
|
| -// If the type name of a response begins with an <code>@</code>
|
| -// character then that response is a _reference_. If the type name of
|
| -// a response does not begin with an <code>@</code> character then
|
| -// that response is an _object_ (or sometimes _full object_). A
|
| -// reference is meant to be a subset of a full object with just enough
|
| -// information for the client to generate a reasonable-looking link.
|
| -//
|
| -// For example, an isolate reference may look like this...
|
| -//
|
| -// {
|
| -// type: "@Isolate",
|
| -// id: "isolates/123",
|
| -// name: "worker"
|
| -// }
|
| -//
|
| -// ... and a full isolate object would have additional properties:
|
| -//
|
| -// {
|
| -// type: "Isolate",
|
| -// id: "isolates/123",
|
| -// name: "worker"
|
| -// entry: ...
|
| -// heaps: ...
|
| -// topFrame: ...
|
| -// ...
|
| -// }
|
| -//
|
| -// <h2>IDs and Names</h2>
|
| -//
|
| -// Many responses returned by the VM Service have an <code>id</code>
|
| -// property. This is an identifier used to request an object from an
|
| -// isolate using the <code>getObject</code> rpc. If two responses
|
| -// have the same id then they refer to the same object. The converse
|
| -// is not true: the same object may occasionally be returned with two
|
| -// different ids.
|
| -//
|
| -// The client must not parse ids -- they must be treated as opaque
|
| -// strings. We reserve the right to change the ids of objects.
|
| -//
|
| -// TODO(turnidge): Describe id/handle expiration. Provide guidance on
|
| -// which responses are cacheable/constant. Perhaps this needs to be
|
| -// signaled in the Response itself.
|
| -//
|
| -// Many responses have the <code>name</code> property. Names are
|
| -// provided so that objects can be displayed in a way that a Dart
|
| -// language programmer would find sensible.
|
| -//
|
| -// Note that names are not unique. Many objects will have the same
|
| -// name.
|
| -//
|
| -// <h2>Private Properties</h2>
|
| -//
|
| -// Some properties returned by the VM Service begin with an underscore
|
| -// (_) character. These properties are called _private
|
| -// properties_. Private properties provide private information
|
| -// specific to the VM's implementation. Private properties may be
|
| -// added, removed, or changed at any time with any release of the VM.
|
| -// They are provided for those tools that need this level of internal
|
| -// access, such as the Observatory.
|
| -//
|
| -// For example, some responses will have the <code>_vmType</code>
|
| -// property. This provides the VM-internal type name of an object,
|
| -// and is provided only when this type name differs from the
|
| -// <code>type</code> property.
|
| -//
|
| -// <b>If your application relies on private properties, you should expect
|
| -// to update it when new versions of the VM are released.</b>
|
| -//
|
| -// <hr>
|
| -
|
| -interface Service {
|
| - // Returns global information about the Dart VM.
|
| - getVM() VM
|
| -
|
| - // Changes the debugging name for some isolate.
|
| - setName(isolateId string, name string) Response
|
| -
|
| - // Returns information about an isolate.
|
| - getIsolate(isolateId string) Isolate
|
| -
|
| - // Returns a list of vm flags and their values.
|
| - getFlagList() FlagList
|
| -
|
| - // Sets the value of a vm flag
|
| - setFlag(name string, value string) Response
|
| -
|
| - // Loads an object by id from an isolate.
|
| - getObject(isolateId string, objectId string) Object
|
| -
|
| - // The response is a subtype of Object or ObjectRef.
|
| - getObjectByAddress(address string, ref bool) Response
|
| -
|
| - // Adds a breakpoint at the specified line.
|
| - //
|
| - // TODO(turnidge): Make line an int instead of a string.
|
| - addBreakpoint(isolateId string,
|
| - scriptId string,
|
| - line string) Breakpoint
|
| -
|
| - // Adds a breakpoint at the entrypoint of the specified function.
|
| - addBreakpointAtEntry(isolateId string,
|
| - functionId string) Breakpoint
|
| -
|
| - // Removes the specified breakpoint
|
| - removeBreakpoint(isolateId string, breakpointId string) Response
|
| -
|
| - // Requests that an isolate pause execution.
|
| - pause(isolateId string) Response
|
| -
|
| - // Requests that an isolate resume execution.
|
| - //
|
| - // <code>step</code> is optional and indicates whether execution
|
| - // should single-step.
|
| - resume(isolateId string, step StepOption) Response
|
| -
|
| - // Evaluate an expression in the context of some target.
|
| - eval(isolateId string, targetId string, expression string) InstanceRef
|
| -
|
| - // Returns the current execution stack for an isolate.
|
| - //
|
| - // _full is an optional private parameter.
|
| - getStack(isolateId string, _full bool) Stack
|
| -
|
| - // Returns code coverage information for a library, script, class,
|
| - // or function.
|
| - getCoverage(isolateId string, targetId string) CodeCoverage
|
| -
|
| - // Returns call site cache information for a function.
|
| - _getCallSiteData(isolateId string, targetId string) _CallSiteData
|
| -
|
| - // Returns a full cpu profile for an isolate.
|
| - //
|
| - // <code>tagSelector</code> is optional with default 'UserVM'.
|
| - getCpuProfile(isolateId string, tags TagSelector) CpuProfile
|
| -
|
| -
|
| - // Returns a simple tag-based profile for an isolate.
|
| - getTagProfile(isolateId string) TagProfile
|
| -
|
| - // Returns an allocation profile for an isolate.
|
| - //
|
| - // <code>reset</code> is optional and indicates whether allocation
|
| - // accumulators should be reset.
|
| - //
|
| - // <code>gc</code> is optional and indicates whether a full
|
| - _getAllocationProfile(isolateId string,
|
| - reset bool,
|
| - gc GCOption) AllocationProfile
|
| -
|
| - // Returns the heap map for an isolate.
|
| - getHeapMap(isolateId string) HeapMap
|
| -
|
| - // Returns how many bytes are retained by some target Class or Instance.
|
| - _getRetainedSize(isolateId string, targetId string) InstanceRef
|
| -
|
| - // Returns a path demonstrating why an object is retained in memory.
|
| - //
|
| - // TODO(turnidge): Make limit an int instead of a string.
|
| - _getRetainingPath(isolateId string,
|
| - targetId string,
|
| - limit int) RetainingPath
|
| -
|
| - // Returns a collection of inbound references to some object.
|
| - //
|
| - // TODO(turnidge): Make limit an int instead of a string.
|
| - _getInboundReferences(isolateId string,
|
| - targetId string,
|
| - limit int) InboundReferences
|
| -
|
| - _getInstances(isolateId string,
|
| - classId string,
|
| - limit int) InstanceSet
|
| -
|
| - getClassList(isolateId string) ClassList
|
| -
|
| - // When <code>onlyWithInstantiations</code> is true, the list only includes
|
| - // type arguments with instantiations. Otherwise, all type arguments are
|
| - // returned.
|
| - getTypeArgumentsList(isolateId string,
|
| - onlyWithInstantiations bool) TypeArgumentsList
|
| -
|
| - // Gets a list of isolate metrics.
|
| - getIsolateMetricList(isolateId string,
|
| - type MetricSelector) MetricList
|
| -
|
| - // Gets a specific isolate metric by id.
|
| - getIsolateMetric(isolateId string,
|
| - metricId string) Metric
|
| -
|
| - // Gets a list of vm metrics.
|
| - getVMMetricList() MetricList
|
| -
|
| - // Gets a specific vm metric by id.
|
| - getVMMetric(metricId string) Metric
|
| -
|
| - // A test rpc for vm requests.
|
| - _echoVM(text string) _EchoResponse
|
| -
|
| - // A test rpc for isolate requests.
|
| - _echo(isolateId string,
|
| - text string) _EchoResponse
|
| -
|
| - // Triggers a ServiceEvent with EventType '_Echo'.
|
| - _triggerEchoEvent(isolateId string,
|
| - text string) _EchoResponse
|
| -
|
| - // Response is bad JSON.
|
| - _respondWithMalformedJson(isolateId string) Response
|
| -
|
| - // Response is not an object.
|
| - _respondWithMalformedObject(isolateId string) Response
|
| -}
|
| -
|
| -
|
| -// Every non-error top level response returned by the Service
|
| -// interface extends <code>Response</code>. This allows the client to
|
| -// distinguish between different kinds of responses by using the
|
| -// <code>type</code> property.
|
| -struct Response {
|
| - // Every response returned by the VM Service has the
|
| - // <code>type</code> property. This allows the client distinguish
|
| - // between different kinds of responses.
|
| - type string
|
| -
|
| - // Some responses will have the <code>_vmType</code> property. This
|
| - // provides the VM-internal type name of an object, and is provided
|
| - // only when this type name differs from the <code>type</code>
|
| - // property.
|
| - _vmType string [optional]
|
| -}
|
| -
|
| -
|
| -// An asynchronous notification from the VM Service.
|
| -struct ServiceEvent extends Response {
|
| - // What kind of event is this?
|
| - eventType ServiceEventType
|
| -
|
| - // The isolate with which this event is associated.
|
| - isolate IsolateRef
|
| -
|
| - // The breakpoint associated with this event, if applicable.
|
| - //
|
| - // This is provided for the events:
|
| - // <code>PauseBreakpoint</code>
|
| - // <code>BreakpointAdded</code>
|
| - // <code>BreakpointRemoved</code>
|
| - // <code>BreakpointResolved</code>
|
| - breakpoint Breakpoint [optional]
|
| -
|
| - // The top stack frame associated with this event, if applicable.
|
| - //
|
| - // This is provided for the events:
|
| - // <code>PauseBreakpoint</code>
|
| - // <code>PauseInterrupted</code>
|
| - // <code>PauseException</code>
|
| - //
|
| - // For the <code>Resume</code> event, the top frame is provided at
|
| - // all times except for the initial resume event that is delivered
|
| - // when an isolate begins execution.
|
| - topFrame Frame [optional]
|
| -
|
| - // The exception associated with this event, if this is a
|
| - // <code>PauseException</code> event.
|
| - exception InstanceRef [optional]
|
| -}
|
| -
|
| -
|
| -// The type of a service event.
|
| -enum ServiceEventType {
|
| - // Notification that a new isolate has started.
|
| - IsolateStart
|
| -
|
| - // Notification that an isolate has exited.
|
| - IsolateExit
|
| -
|
| - // Notification that isolate identifying information has changed.
|
| - // Currently used to notify of changes to the isolate debugging name
|
| - // via <code>setName</code>.
|
| - IsolateUpdate
|
| -
|
| - // An isolate has paused at start, before executing code.
|
| - PauseStart
|
| -
|
| - // An isolate has paused at exit, before terminating.
|
| - PauseExit
|
| -
|
| - // An isolate has paused at a breakpoint or due to stepping.
|
| - PauseBreakpoint
|
| -
|
| - // An isolate has paused due to interruption via <code>pause</code>.
|
| - PauseInterrupted
|
| -
|
| - // An isolate has paused due to an exception.
|
| - //
|
| - // TODO(turnidge): Allow user to toggle pause-on-exceptions.
|
| - PauseException
|
| -
|
| - // An isolate has started or resumed execution.
|
| - Resume
|
| -
|
| - // A breakpoint has been added for an isolate.
|
| - BreakpointAdded
|
| -
|
| - // An unresolved breakpoint has been resolved for an isolate.
|
| - BreakpointResolved
|
| -
|
| - // A breakpoint has been removed.
|
| - BreakpointRemoved
|
| -
|
| - // A garbage collection event.
|
| - GC
|
| -
|
| - // The object graph is being delivered. This is triggered via
|
| - // <code>requestHeapSnapshot</code>.
|
| - _Graph
|
| -}
|
| -
|
| -
|
| -struct VM extends Response {
|
| - // Word length on target architecture (e.g. 32, 64).
|
| - architectureBits int
|
| -
|
| - // The CPU we are generating code for.
|
| - targetCPU string
|
| -
|
| - // The CPU we are actually running on.
|
| - hostCPU string
|
| -
|
| - // The Dart VM version string.
|
| - version string
|
| -
|
| - // The process id for the VM.
|
| - pid string
|
| -
|
| - // The time that the VM started in milliseconds since the epoch.
|
| - //
|
| - // Suitable to pass to DateTime.fromMillisecondsSinceEpoch.
|
| - startTime int
|
| -
|
| - // A list of isolates running in the VM.
|
| - isolates []IsolateRef
|
| -
|
| - // Are assertions enabled in the VM?
|
| - //
|
| - // TODO(turnidge): Move to some sort of general settings list?
|
| - _assertsEnabled bool
|
| -
|
| - // Are type checks enabled in the VM?
|
| - //
|
| - // TODO(turnidge): Move to some sort of general settings list?
|
| - _typeChecksEnabled bool
|
| -}
|
| -
|
| -
|
| -// A reference to an an isolate.
|
| -struct IsolateRef extends Object {
|
| - // A numeric id for this isolate, represented as a string. Unique.
|
| - number string
|
| -
|
| - // A name identifying this isolate. Not guaranteed to be unique.
|
| - name string
|
| -}
|
| -
|
| -
|
| -// An isolate running in the VM.
|
| -struct Isolate {
|
| - // A numeric id for this isolate, represented as a string. Unique.
|
| - number string
|
| -
|
| - // A name identifying this isolate. Not guaranteed to be unique.
|
| - name string
|
| -
|
| - // The time that the VM started in milliseconds since the epoch.
|
| - //
|
| - // Suitable to pass to DateTime.fromMillisecondsSinceEpoch.
|
| - startTime int
|
| -
|
| - // The entry function for this isolate.
|
| - entry FunctionRef [optional]
|
| -
|
| - // The number of live ports for this isolate.
|
| - livePorts int
|
| -
|
| - // Will this isolate pause when exiting?
|
| - pauseOnExit bool
|
| -
|
| - // The last pause event delivered to the isolate. If the isolate is
|
| - // running, this will be a resume event.
|
| - pauseEvent ServiceEvent
|
| -
|
| - // The error that is causing this isolate to exit, if applicable.
|
| - error Error [optional]
|
| -
|
| - // The root library for this isolate.
|
| - rootLib LibraryRef
|
| -
|
| - // A list of all libraries for this isolate.
|
| - libraries []LibraryRef
|
| -
|
| - // A list of all breakpoints for this isolate.
|
| - breakpoints []Breakpoint
|
| -
|
| - // A list of features enabled for this isolate.
|
| - features []string
|
| -
|
| - // TODO
|
| - heaps int
|
| -
|
| - // TODO
|
| - tagCounters int
|
| -}
|
| -
|
| -
|
| -// A list of flags.
|
| -struct FlagList extends Response {
|
| - // A list of all flags which are set to default values.
|
| - unmodifiedFlags []Flag
|
| -
|
| - // A list of all flags which have been modified by the user.
|
| - modifiedFlags []Flag
|
| -}
|
| -
|
| -
|
| -// A single flag.
|
| -struct Flag {
|
| - // The name of the flag.
|
| - name string
|
| -
|
| - // A description of the flag.
|
| - comment string
|
| -
|
| - // The type of the flag.
|
| - flagType FlagType
|
| -}
|
| -
|
| -
|
| -// The type of a flag.
|
| -enum FlagType {
|
| - bool
|
| - int
|
| - uint64_t
|
| - string
|
| -}
|
| -
|
| -
|
| -// A reference to a persistent object that lives in some isolate.
|
| -struct ObjectRef extends Response {
|
| - // A unique identifier for an object. Passed to
|
| - // <code>getObject</code> to load the full object.
|
| - id string
|
| -}
|
| -
|
| -
|
| -// A persistent object that lives in some isolate.
|
| -struct Object extends Response {
|
| - // A unique identifier for this object.
|
| - id string
|
| -}
|
| -
|
| -
|
| -// TODO(turnidge): null type
|
| -// TODO(turnidge): VMObject.
|
| -
|
| -
|
| -// A reference to a Dart language library.
|
| -struct LibraryRef extends ObjectRef {
|
| - // The name of this library.
|
| - name string
|
| -
|
| - // The url of this library.
|
| - url string
|
| -}
|
| -
|
| -
|
| -// A Dart language library.
|
| -struct Library extends Object {
|
| - // The name of this library.
|
| - name string
|
| -
|
| - // The url of this library.
|
| - url string
|
| -
|
| - // A list of the imports for this library.
|
| - imports []LibraryRef
|
| -
|
| - // A list of the scripts which constitute this library.
|
| - scripts []ScriptRef
|
| -
|
| - // A list of the top-level variables in this library.
|
| - variables []FieldRef
|
| -
|
| - // A list of the top-level functions in this library.
|
| - functions []FunctionRef
|
| -
|
| - // A list of all classes in this library.
|
| - classes []ClassRef
|
| -}
|
| -
|
| -
|
| -// A reference to a Dart language script.
|
| -struct ScriptRef extends ObjectRef {
|
| - // A name for this script.
|
| - name string
|
| -
|
| - // What kind of script is this?
|
| - kind ScriptKind
|
| -}
|
| -
|
| -
|
| -// A Dart language script.
|
| -struct Script extends Object {
|
| - // A name for this script.
|
| - name string
|
| -
|
| - // What kind of script is this?
|
| - kind ScriptKind
|
| -
|
| - // The library which owns this script.
|
| - library LibraryRef
|
| -
|
| - // The source code for this script. For certain built-in scripts,
|
| - // this may be reconstructed without source comments.
|
| - source string
|
| -
|
| - // A table encoding a mapping from token position to line and column.
|
| - //
|
| - // Each entry in the array consists of a line number followed by
|
| - // (tokenPos, columnNumber) pairs:
|
| - //
|
| - // [lineNumber, (tokenPos, columnNumber)*]
|
| - //
|
| - // For example, the following table:
|
| - //
|
| - // [[1, 100, 5, 101, 8],[2, 102, 7]]
|
| - //
|
| - // Encodes the following mapping:
|
| - //
|
| - // tokenPos line column
|
| - // -------- ------ ------
|
| - // 100 1 5
|
| - // 101 1 8
|
| - // 102 2 7
|
| - //
|
| - // TODO(turnidge): The tool I'm using does not support [][].
|
| - // tokenPosTable [][]int
|
| - tokenPosTable int
|
| -}
|
| -
|
| -
|
| -enum ScriptKind {
|
| - script
|
| - library
|
| - source
|
| - patch
|
| -}
|
| -
|
| -
|
| -// A reference to a Dart language class.
|
| -struct ClassRef extends ObjectRef {
|
| - // The name of this class.
|
| - name string
|
| -
|
| - // A vm internal name, provided only when it is different than name.
|
| - _vmName string [optional]
|
| -}
|
| -
|
| -
|
| -// A Dart language class.
|
| -struct Class extends Object {
|
| - // The name of this class.
|
| - name string
|
| -
|
| - // A vm internal name, provided only when it is different than name.
|
| - _vmName string [optional]
|
| -
|
| - // The error which occurred during class finalization, if it exists.
|
| - error InstanceRef [optional]
|
| -
|
| - // Is this an abstract class?
|
| - abstract bool
|
| -
|
| - // Is this a const class?
|
| - const bool
|
| -
|
| - // Has this class been finalized?
|
| - finalized bool
|
| -
|
| - // Is this class implemented?
|
| - implemented bool
|
| -
|
| - // Is this a vm patch class?
|
| - patch bool
|
| -
|
| - // The library which contains this class.
|
| - library LibraryRef
|
| -
|
| - // The script which defines this class. May be missing for some
|
| - // classes.
|
| - script ScriptRef
|
| -
|
| - // The superclass of this class, if any.
|
| - super ClassRef [optional]
|
| -
|
| - // A list of interface types for this class.
|
| - interfaces []TypeRef
|
| -
|
| - // A list of fields in this class. Does not include fields from
|
| - // superclasses.
|
| - fields []FieldRef
|
| -
|
| - // A list of functions in this class. Does not include functions
|
| - // from superclasses.
|
| - functions []FunctionRef
|
| -
|
| - // A list of subclasses of this class.
|
| - subclasses []ClassRef
|
| -
|
| - // Allocation statistics for this class, if available.
|
| - allocationStats ClassHeapStats [optional]
|
| -}
|
| -
|
| -
|
| -struct ClassHeapStats extends Response {
|
| - TODO int
|
| -}
|
| -
|
| -
|
| -// A reference to a Dart language field or variable.
|
| -struct FieldRef extends ObjectRef {
|
| - // The name of this field.
|
| - name string
|
| -
|
| - // A vm internal name, provided only when it is different than name.
|
| - _vmName string [optional]
|
| -
|
| - // The value of this field, if the field is static.
|
| - value InstanceRef [optional]
|
| -
|
| - // The owner of this field, which can be either a LibraryRef for a
|
| - // ClassRef.
|
| - owner ObjectRef
|
| -
|
| - // The declared type of this field.
|
| - declaredType TypeRef
|
| -
|
| - // Is this field const?
|
| - const bool
|
| -
|
| - // Is this field final?
|
| - final bool
|
| -
|
| - // Is this field static?
|
| - static bool
|
| -}
|
| -
|
| -
|
| -// A Dart language field or variable.
|
| -struct Field extends ObjectRef {
|
| - // The name of this field.
|
| - name string
|
| -
|
| - // A vm internal name, provided only when it is different than name.
|
| - _vmName string [optional]
|
| -
|
| - // The value of this field, if the field is static.
|
| - value InstanceRef [optional]
|
| -
|
| - // The owner of this field, which can be either a LibraryRef for a
|
| - // ClassRef.
|
| - owner ObjectRef
|
| -
|
| - // The declared type of this field.
|
| - declaredType TypeRef
|
| -
|
| - // Is this field const?
|
| - const bool
|
| -
|
| - // Is this field final?
|
| - final bool
|
| -
|
| - // Is this field static?
|
| - static bool
|
| -
|
| - // The script containing this feild.
|
| - script ScriptRef [optional]
|
| -
|
| - // The token position of this field.
|
| - tokenPos int [optional]
|
| -
|
| - // Have we seen null assigned to this field?
|
| - _guardNullable bool
|
| -
|
| - // Have we seen a single class assigned to this field?
|
| - //
|
| - // TODO(johnmccutchan): This can actually be a string 'unknown' or
|
| - // 'dynamic' or a ClassRef. Change how this is encoded.
|
| - _guardClass string
|
| -
|
| - // Have we seen a fixed length list assigned to this field?
|
| - //
|
| - // TODO(johnmccutchan): This can actually be a string 'unknown' or
|
| - // 'dynamic' or a ClassRef. Change how this is encoded.
|
| - _guardLength string
|
| -}
|
| -
|
| -
|
| -// A reference to a Dart language function.
|
| -struct FunctionRef extends ObjectRef {
|
| - // The name of this function.
|
| - name string
|
| -
|
| - // A vm internal name, provided only when it is different than name.
|
| - _vmName string [optional]
|
| -
|
| - // The owner of this field, which can be a LibraryRef, ClassRef, or
|
| - // a FunctionRef.
|
| - owner ObjectRef
|
| -
|
| - // What kind of function is this?
|
| - kind FunctionKind
|
| -}
|
| -
|
| -
|
| -// A Dart language function.
|
| -struct Function extends ObjectRef {
|
| - // The name of this function.
|
| - name string
|
| -
|
| - // A vm internal name, provided only when it is different than name.
|
| - _vmName string [optional]
|
| -
|
| - // What kind of function is this?
|
| - kind FunctionKind
|
| -
|
| - // The owner of this field, which can be a LibraryRef, ClassRef, or
|
| - // a FunctionRef.
|
| - owner ObjectRef
|
| -
|
| - // Is this function static?
|
| - //
|
| - // TODO(turnidge): This is inconsistent with FieldRef.
|
| - static bool
|
| -
|
| - // Is this function const?
|
| - const bool
|
| -
|
| - // The script containing this function.
|
| - script ScriptRef [optional]
|
| -
|
| - // The first token position of this function.
|
| - tokenPos int [optional]
|
| -
|
| - // The last token position of this function.
|
| - endTokenPos int [optional]
|
| -
|
| - // The compiled code associated with this function.
|
| - code CodeRef [optional]
|
| -
|
| - // Are we able to generate optimized code for this function?
|
| - _optimizable bool
|
| -
|
| - // Are we able to inline this function?
|
| - _inlinable bool
|
| -
|
| - // The unoptimized version of this function, if retained.
|
| - _unoptimizedCode CodeRef [optional]
|
| -
|
| - // An indicator of how actively this function is used.
|
| - _usageCounter int
|
| -
|
| - // TODO(johnmccutchan): Document.
|
| - _optimizedCallSiteCount int
|
| -
|
| - // How many times has this function been deoptimized?
|
| - _deoptimizations int
|
| -}
|
| -
|
| -
|
| -enum FunctionKind {
|
| - RegularFunction
|
| - ClosureFunction
|
| - GetterFunction
|
| - SetterFunction
|
| - Constructor
|
| - ImplicitGetter
|
| - ImplicitSetter
|
| - ImplicitStaticFinalGetter
|
| - IrregexpFunction
|
| - StaticInitializer
|
| - MethodExtractor
|
| - NoSuchMethodDispatcher
|
| - InvokeFieldDispatcher
|
| - Collected
|
| - Native
|
| - Stub
|
| - Tag
|
| -}
|
| -
|
| -
|
| -// A reference to a compiled code object in the Dart VM.
|
| -struct CodeRef extends ObjectRef {
|
| - // A name for this code object
|
| - name string
|
| -
|
| - // A vm internal name, provided only when it is different than name.
|
| - _vmName string [optional]
|
| -
|
| - // What kind of code object is this?
|
| - kind CodeKind
|
| -
|
| - // Was this code generated using the optimizing compiler?
|
| - _optimized bool
|
| -}
|
| -
|
| -
|
| -// A compiled code object in the Dart VM.
|
| -struct Code extends Object {
|
| - // A name for this code object
|
| - name string
|
| -
|
| - // A vm internal name, provided only when it is different than name.
|
| - _vmName string [optional]
|
| -
|
| - // What kind of code object is this?
|
| - kind CodeKind
|
| -
|
| - // Was this code generated using the optimizing compiler?
|
| - _optimized bool
|
| -
|
| - // The function which corresponds to this compiled code.
|
| - function FunctionRef
|
| -
|
| - // The start address of the generated code as a hex string.
|
| - _startAddress string
|
| -
|
| - // The end address of the generated code as a hex string.
|
| - _endAddress string
|
| -
|
| - // The object pool associated with this code object.
|
| - _objectPool UNDOCUMENTED [optional]
|
| -
|
| - // The disassembly of this code object.
|
| - _disassembly UNDOCUMENTED [optional]
|
| -
|
| - // The pc descriptor table for this code object.
|
| - _descriptors UNDOCUMENTED [optional]
|
| -
|
| - // The inlined function table for this code object.
|
| - _inlinedFunctions UNDOCUMENTED [optional]
|
| -
|
| - // Inline interval information for this code object.
|
| - _inlinedIntervals UNDOCUMENTED [optional]
|
| -}
|
| -
|
| -
|
| -enum CodeKind {
|
| - Dart
|
| - Native
|
| - Stub
|
| - Tag
|
| - Collected
|
| -}
|
| -
|
| -
|
| -// A reference to a type arguments vector.
|
| -struct TypeArgumentsRef extends ObjectRef {
|
| - // A name for this type argument list.
|
| - name string
|
| -
|
| - // A vm internal name, provided only when it is different than name.
|
| - _vmName string
|
| -}
|
| -
|
| -
|
| -// The type argument vector for some instantiated generic type.
|
| -struct TypeArguments extends Object {
|
| - // A name for this type argument list.
|
| - name string
|
| -
|
| - // A vm internal name, provided only when it is different than name.
|
| - _vmName string
|
| -
|
| - // A list of types.
|
| - types []TypeRef
|
| -}
|
| -
|
| -
|
| -// Represents an error object inside the VM.
|
| -struct Error extends Object {
|
| - // An error message
|
| - message string
|
| -}
|
| -
|
| -
|
| -// A <code>InstanceRef</code> encodes a reference to a
|
| -// <code>Instance</code> object.
|
| -struct InstanceRef extends ObjectRef {
|
| - TODO int
|
| -}
|
| -
|
| -
|
| -struct TypeRef extends InstanceRef {
|
| - TODO2 int
|
| -}
|
| -
|
| -
|
| -// An <code>Instance</code> represents a Dart-language object.
|
| -struct Instance extends Object {
|
| - TODO int
|
| -}
|
| -
|
| -
|
| -// A <code>Breakpoint</code> describes a debugger breakpoint.
|
| -struct Breakpoint extends Object {
|
| - breakpointNumber int
|
| - resolved bool
|
| - location Location
|
| -}
|
| -
|
| -
|
| -// A <code>Location</code> encodes a location withing a dart script.
|
| -//
|
| -// TODO(turnidge): Should this really be broken out as its own type?
|
| -// If so, we should use it more consistently in the api. For example,
|
| -// in Frame.
|
| -struct Location {
|
| - script ScriptRef
|
| - tokenPos int
|
| -}
|
| -
|
| -
|
| -// A <code>Variable</code> represents one name/value pair from a frame.
|
| -struct Variable {
|
| - name string
|
| - value InstanceRef
|
| -}
|
| -
|
| -
|
| -// A <code>Frame</code> represents one frame from an isolate's stack.
|
| -struct Frame {
|
| - script ScriptRef
|
| - tokenPos int
|
| - function FunctionRef
|
| - code CodeRef
|
| - vars []Variable
|
| -}
|
| -
|
| -
|
| -// A <code>Stack</code> represents an isolate's execution stack.
|
| -struct Stack extends Response {
|
| - frames []Frame
|
| -}
|
| -
|
| -
|
| -struct CodeCoverage extends Response {
|
| - TODO int
|
| -}
|
| -
|
| -
|
| -struct _CacheEntry {
|
| - receiverClass ClassRef
|
| - count int
|
| -}
|
| -
|
| -
|
| -struct _CallSite {
|
| - name string
|
| - line int
|
| - column int
|
| - cacheEntries []_CacheEntry
|
| -}
|
| -
|
| -
|
| -struct _CallSiteData extends Response {
|
| - function FunctionRef
|
| - callSites []_CallSite
|
| -}
|
| -
|
| -// A <code>TagProfile</code> is a limited profile encoded as parallel
|
| -// arrays of tag names and tag values.
|
| -struct TagProfile extends Response {
|
| - names []string
|
| - counters []int
|
| -}
|
| -
|
| -
|
| -// An <code>AllocationProfile</code> encodes an allocation profile.
|
| -struct AllocationProfile extends Response {
|
| - todo int
|
| -}
|
| -
|
| -
|
| -// A <code>CpuProfile</code> encodes a full cpu profile.
|
| -struct CpuProfile extends Response {
|
| - samples int
|
| - depth int
|
| - period int
|
| - timeSpan float
|
| - exclusive_trie []int
|
| - codes []CodeRegion
|
| -}
|
| -
|
| -
|
| -// A <code>CodeRegion</code> represents profiling information for a
|
| -// specific <code>Code</code> object.
|
| -struct CodeRegion {
|
| - kind string
|
| - inclusive_ticks int
|
| - exclusive_ticks int
|
| - code CodeRef
|
| - ticks []int
|
| - callers []int
|
| -}
|
| -
|
| -// An <code>HeapMap</code> provides a memory view of all heap allocated objects.
|
| -struct HeapMap extends Response {
|
| - todo int
|
| -}
|
| -
|
| -
|
| -// An <code>HeapMap</code> provides a memory view of all heap allocated objects.
|
| -struct RetainingPath extends Response {
|
| - length int
|
| - elements []RetainingPathElement
|
| -}
|
| -
|
| -
|
| -// One entry in a <code>RetainingPath</code>.
|
| -struct RetainingPathElement {
|
| - index int
|
| - element InstanceRef
|
| - parentListIndex int [optional]
|
| - parentField FieldRef [optional]
|
| -}
|
| -
|
| -
|
| -struct InboundReferences extends Response {
|
| - length int
|
| - references []InboundReference
|
| -}
|
| -
|
| -
|
| -// TODO(koda): slot can actually be a string, and integer or a
|
| -// FieldRef. Fix this to be consistent with RetainingPathElement.
|
| -struct InboundReference {
|
| - source InstanceRef
|
| - slot int
|
| -}
|
| -
|
| -
|
| -struct InstanceSet {
|
| - placeholder int
|
| -}
|
| -
|
| -
|
| -struct ClassList extends Response {
|
| - classes []ClassRef
|
| -}
|
| -
|
| -
|
| -struct TypeArgumentsList extends Response {
|
| - tableSize int
|
| - tableUsed int
|
| - typeArguments []TypeArgumentsRef
|
| -}
|
| -
|
| -
|
| -struct MetricList extends Response {
|
| - metrics []Metric
|
| -}
|
| -
|
| -
|
| -struct Metric extends Response {
|
| - name string
|
| - description string
|
| -}
|
| -
|
| -
|
| -struct Gauge extends Metric {
|
| - value float
|
| - min float
|
| - max float
|
| -}
|
| -
|
| -
|
| -struct Counter extends Metric {
|
| - value float
|
| -}
|
| -
|
| -
|
| -// A <code>GCOption</code> is used to indicate which form of garbage
|
| -// collection is requested.
|
| -enum GCOption {
|
| - full
|
| -}
|
| -
|
| -// A <code>StepOption</code> is used to indicate which form of
|
| -// single-stepping is requested.
|
| -enum StepOption {
|
| - into
|
| - over
|
| - out
|
| -}
|
| -
|
| -// A <code>TagSelector</code> is used to indicate which sets of tags
|
| -// should take precedence in a cpu profile.
|
| -enum TagSelector {
|
| - UserVM
|
| - UserOnly
|
| - VMUser
|
| - VMOnly
|
| - None
|
| -}
|
| -
|
| -// A <code>MetricSelector</code> is used to indicate which list of metrics
|
| -// should be retrieved from an isolate.
|
| -enum MetricSelector {
|
| - Dart
|
| - Native
|
| -}
|
| -
|
| -
|
| -struct _EchoResponse extends Response {
|
| - text string
|
| -}
|
| -
|
| -
|
| -struct UNDOCUMENTED {
|
| - TODO int
|
| -}
|
|
|