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

Side by Side Diff: runtime/vm/service.cc

Issue 187133004: When reading a full snapshot use the class id from the snapshot instead of generating a new one. Th… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 #include "vm/service.h" 5 #include "vm/service.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 8
9 #include "vm/compiler.h" 9 #include "vm/compiler.h"
10 #include "vm/coverage.h" 10 #include "vm/coverage.h"
11 #include "vm/cpu.h" 11 #include "vm/cpu.h"
12 #include "vm/dart_api_impl.h" 12 #include "vm/dart_api_impl.h"
13 #include "vm/dart_entry.h" 13 #include "vm/dart_entry.h"
14 #include "vm/debugger.h" 14 #include "vm/debugger.h"
15 #include "vm/heap_histogram.h"
16 #include "vm/isolate.h" 15 #include "vm/isolate.h"
17 #include "vm/message.h" 16 #include "vm/message.h"
18 #include "vm/native_entry.h" 17 #include "vm/native_entry.h"
19 #include "vm/native_arguments.h" 18 #include "vm/native_arguments.h"
20 #include "vm/object.h" 19 #include "vm/object.h"
21 #include "vm/object_id_ring.h" 20 #include "vm/object_id_ring.h"
22 #include "vm/object_store.h" 21 #include "vm/object_store.h"
23 #include "vm/port.h" 22 #include "vm/port.h"
24 #include "vm/profiler.h" 23 #include "vm/profiler.h"
25 #include "vm/stack_frame.h" 24 #include "vm/stack_frame.h"
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 JSONObject jsobj(&jsarr); 611 JSONObject jsobj(&jsarr);
613 frame->PrintToJSONObject(&jsobj); 612 frame->PrintToJSONObject(&jsobj);
614 // TODO(turnidge): Implement depth differently -- differentiate 613 // TODO(turnidge): Implement depth differently -- differentiate
615 // inlined frames. 614 // inlined frames.
616 jsobj.AddProperty("depth", i); 615 jsobj.AddProperty("depth", i);
617 } 616 }
618 return true; 617 return true;
619 } 618 }
620 619
621 620
622 static bool HandleObjectHistogram(Isolate* isolate, JSONStream* js) {
623 ObjectHistogram* histogram = Isolate::Current()->object_histogram();
624 if (histogram == NULL) {
625 JSONObject jsobj(js);
626 jsobj.AddProperty("type", "Error");
627 jsobj.AddProperty("text", "Run with --print_object_histogram");
628 return true;
629 }
630 histogram->PrintToJSONStream(js);
631 return true;
632 }
633
634
635 static bool HandleIsolateEcho(Isolate* isolate, JSONStream* js) { 621 static bool HandleIsolateEcho(Isolate* isolate, JSONStream* js) {
636 JSONObject jsobj(js); 622 JSONObject jsobj(js);
637 jsobj.AddProperty("type", "message"); 623 jsobj.AddProperty("type", "message");
638 PrintArgumentsAndOptions(jsobj, js); 624 PrintArgumentsAndOptions(jsobj, js);
639 return true; 625 return true;
640 } 626 }
641 627
642 628
643 // Print an error message if there is no ID argument. 629 // Print an error message if there is no ID argument.
644 #define REQUIRE_COLLECTION_ID(collection) \ 630 #define REQUIRE_COLLECTION_ID(collection) \
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after
1147 static IsolateMessageHandlerEntry isolate_handlers[] = { 1133 static IsolateMessageHandlerEntry isolate_handlers[] = {
1148 { "_echo", HandleIsolateEcho }, 1134 { "_echo", HandleIsolateEcho },
1149 { "", HandleIsolate }, 1135 { "", HandleIsolate },
1150 { "allocationprofile", HandleAllocationProfile }, 1136 { "allocationprofile", HandleAllocationProfile },
1151 { "classes", HandleClasses }, 1137 { "classes", HandleClasses },
1152 { "code", HandleCode }, 1138 { "code", HandleCode },
1153 { "coverage", HandleCoverage }, 1139 { "coverage", HandleCoverage },
1154 { "cpu", HandleCpu }, 1140 { "cpu", HandleCpu },
1155 { "debug", HandleDebug }, 1141 { "debug", HandleDebug },
1156 { "libraries", HandleLibraries }, 1142 { "libraries", HandleLibraries },
1157 { "objecthistogram", HandleObjectHistogram},
1158 { "objects", HandleObjects }, 1143 { "objects", HandleObjects },
1159 { "profile", HandleProfile }, 1144 { "profile", HandleProfile },
1160 { "unpin", HandleUnpin }, 1145 { "unpin", HandleUnpin },
1161 { "scripts", HandleScripts }, 1146 { "scripts", HandleScripts },
1162 { "stacktrace", HandleStackTrace }, 1147 { "stacktrace", HandleStackTrace },
1163 }; 1148 };
1164 1149
1165 1150
1166 static IsolateMessageHandler FindIsolateMessageHandler(const char* command) { 1151 static IsolateMessageHandler FindIsolateMessageHandler(const char* command) {
1167 intptr_t num_message_handlers = sizeof(isolate_handlers) / 1152 intptr_t num_message_handlers = sizeof(isolate_handlers) /
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
1372 while (current != NULL) { 1357 while (current != NULL) {
1373 if (strcmp(name, current->name()) == 0) { 1358 if (strcmp(name, current->name()) == 0) {
1374 return current; 1359 return current;
1375 } 1360 }
1376 current = current->next(); 1361 current = current->next();
1377 } 1362 }
1378 return NULL; 1363 return NULL;
1379 } 1364 }
1380 1365
1381 } // namespace dart 1366 } // namespace dart
OLDNEW
« runtime/vm/class_table.cc ('K') | « runtime/vm/raw_object.h ('k') | runtime/vm/snapshot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698