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

Side by Side Diff: pkg/dartino_compiler/lib/vm_commands.dart

Issue 1987673002: Initial Implementation of the vm-service protocol (Closed) Base URL: git@github.com:dartino/sdk.git@master
Patch Set: Keep track of terminated state Created 4 years, 6 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) 2015, the Dartino project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dartino 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.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 library dartino_compiler.vm_commands; 5 library dartino_compiler.vm_commands;
6 6
7 import 'dart:convert' show 7 import 'dart:convert' show
8 UTF8; 8 UTF8;
9 9
10 import 'dart:typed_data' show 10 import 'dart:typed_data' show
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 int value = CommandBuffer.readInt32FromBuffer(buffer, 0); 111 int value = CommandBuffer.readInt32FromBuffer(buffer, 0);
112 return new ProcessNumberOfStacks(value); 112 return new ProcessNumberOfStacks(value);
113 case VmCommandCode.ProcessGetProcessIdsResult: 113 case VmCommandCode.ProcessGetProcessIdsResult:
114 int count = CommandBuffer.readInt32FromBuffer(buffer, 0); 114 int count = CommandBuffer.readInt32FromBuffer(buffer, 0);
115 List<int> ids = new List(count); 115 List<int> ids = new List(count);
116 for (int i = 0; i < count; ++i) { 116 for (int i = 0; i < count; ++i) {
117 ids[i] = CommandBuffer.readInt32FromBuffer(buffer, (i + 1) * 4); 117 ids[i] = CommandBuffer.readInt32FromBuffer(buffer, (i + 1) * 4);
118 } 118 }
119 return new ProcessGetProcessIdsResult(ids); 119 return new ProcessGetProcessIdsResult(ids);
120 case VmCommandCode.UncaughtException: 120 case VmCommandCode.UncaughtException:
121 return const UncaughtException(); 121 int offset = 0;
122 int processId = CommandBuffer.readInt32FromBuffer(buffer, offset);
123 offset += 4;
124 int functionId = translateFunction(
125 CommandBuffer.readInt64FromBuffer(buffer, offset));
126 offset += 8;
127 int bytecodeIndex = CommandBuffer.readInt64FromBuffer(buffer, offset);
128 return new UncaughtException(processId, functionId, bytecodeIndex);
122 case VmCommandCode.CommitChangesResult: 129 case VmCommandCode.CommitChangesResult:
123 bool success = CommandBuffer.readBoolFromBuffer(buffer, 0); 130 bool success = CommandBuffer.readBoolFromBuffer(buffer, 0);
124 String message = CommandBuffer.readAsciiStringFromBuffer( 131 String message = CommandBuffer.readAsciiStringFromBuffer(
125 buffer, 1, buffer.length - 1); 132 buffer, 1, buffer.length - 1);
126 return new CommitChangesResult(success, message); 133 return new CommitChangesResult(success, message);
127 case VmCommandCode.ProgramInfo: 134 case VmCommandCode.ProgramInfo:
128 if ((buffer.offsetInBytes % 4) != 0) { 135 if ((buffer.offsetInBytes % 4) != 0) {
129 buffer = new Uint8List.fromList(buffer); 136 buffer = new Uint8List.fromList(buffer);
130 } 137 }
131 138
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
791 ..addAsciiString(message) 798 ..addAsciiString(message)
792 ..sendOn(sink, code); 799 ..sendOn(sink, code);
793 } 800 }
794 801
795 int get numberOfResponsesExpected => 0; 802 int get numberOfResponsesExpected => 0;
796 803
797 String valuesToString() => 'success: $successful, message: $message'; 804 String valuesToString() => 'success: $successful, message: $message';
798 } 805 }
799 806
800 class UncaughtException extends VmCommand { 807 class UncaughtException extends VmCommand {
801 const UncaughtException() 808 final int processId;
809 final int functionId;
810 final int bytecodeIndex;
811
812 const UncaughtException(
813 this.processId, this.functionId, this.bytecodeIndex)
802 : super(VmCommandCode.UncaughtException); 814 : super(VmCommandCode.UncaughtException);
803 815
804 int get numberOfResponsesExpected => 0; 816 int get numberOfResponsesExpected => 0;
805 817
806 String valuesToString() => ""; 818 String valuesToString() => "";
807 } 819 }
808 820
809 class MapLookup extends VmCommand { 821 class MapLookup extends VmCommand {
810 final MapId mapId; 822 final MapId mapId;
811 823
(...skipping 977 matching lines...) Expand 10 before | Expand all | Expand 10 after
1789 Class, 1801 Class,
1790 InstanceStructure 1802 InstanceStructure
1791 } 1803 }
1792 1804
1793 enum MapId { 1805 enum MapId {
1794 methods, 1806 methods,
1795 classes, 1807 classes,
1796 constants, 1808 constants,
1797 fibers, 1809 fibers,
1798 } 1810 }
OLDNEW
« no previous file with comments | « pkg/dartino_compiler/lib/src/worker/developer.dart ('k') | pkg/dartino_compiler/lib/vm_context.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698