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

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

Issue 883263004: Allows turning on checked mode on a per-isolate basis (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 10 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
« runtime/vm/dart_api_impl_test.cc ('K') | « runtime/vm/parser.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "platform/globals.h" 8 #include "platform/globals.h"
9 9
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 3187 matching lines...) Expand 10 before | Expand all | Expand 10 after
3198 jsarr_->AddValue(isolate); 3198 jsarr_->AddValue(isolate);
3199 } 3199 }
3200 } 3200 }
3201 3201
3202 private: 3202 private:
3203 JSONArray* jsarr_; 3203 JSONArray* jsarr_;
3204 }; 3204 };
3205 3205
3206 3206
3207 static bool HandleVM(JSONStream* js) { 3207 static bool HandleVM(JSONStream* js) {
3208 Isolate* isolate = Isolate::Current();
3208 JSONObject jsobj(js); 3209 JSONObject jsobj(js);
3209 jsobj.AddProperty("type", "VM"); 3210 jsobj.AddProperty("type", "VM");
3210 jsobj.AddProperty("id", "vm"); 3211 jsobj.AddProperty("id", "vm");
3211 jsobj.AddProperty("architectureBits", static_cast<intptr_t>(kBitsPerWord)); 3212 jsobj.AddProperty("architectureBits", static_cast<intptr_t>(kBitsPerWord));
3212 jsobj.AddProperty("targetCPU", CPU::Id()); 3213 jsobj.AddProperty("targetCPU", CPU::Id());
3213 jsobj.AddProperty("hostCPU", HostCPUFeatures::hardware()); 3214 jsobj.AddProperty("hostCPU", HostCPUFeatures::hardware());
3214 jsobj.AddPropertyF("date", "%" Pd64 "", OS::GetCurrentTimeMillis()); 3215 jsobj.AddPropertyF("date", "%" Pd64 "", OS::GetCurrentTimeMillis());
3215 jsobj.AddProperty("version", Version::String()); 3216 jsobj.AddProperty("version", Version::String());
3216 // Send pid as a string because it allows us to avoid any issues with 3217 // Send pid as a string because it allows us to avoid any issues with
3217 // pids > 53-bits (when consumed by JavaScript). 3218 // pids > 53-bits (when consumed by JavaScript).
3218 // TODO(johnmccutchan): Codify how integers are sent across the service. 3219 // TODO(johnmccutchan): Codify how integers are sent across the service.
3219 jsobj.AddPropertyF("pid", "%" Pd "", OS::ProcessId()); 3220 jsobj.AddPropertyF("pid", "%" Pd "", OS::ProcessId());
3220 jsobj.AddProperty("assertsEnabled", FLAG_enable_asserts); 3221 jsobj.AddProperty("assertsEnabled",
3221 jsobj.AddProperty("typeChecksEnabled", FLAG_enable_type_checks); 3222 FLAG_enable_asserts || isolate->checked_mode());
3223 jsobj.AddProperty("typeChecksEnabled",
3224 FLAG_enable_type_checks || isolate->checked_mode());
3222 int64_t start_time_micros = Dart::vm_isolate()->start_time(); 3225 int64_t start_time_micros = Dart::vm_isolate()->start_time();
3223 int64_t uptime_micros = (OS::GetCurrentTimeMicros() - start_time_micros); 3226 int64_t uptime_micros = (OS::GetCurrentTimeMicros() - start_time_micros);
3224 double seconds = (static_cast<double>(uptime_micros) / 3227 double seconds = (static_cast<double>(uptime_micros) /
3225 static_cast<double>(kMicrosecondsPerSecond)); 3228 static_cast<double>(kMicrosecondsPerSecond));
3226 jsobj.AddProperty("uptime", seconds); 3229 jsobj.AddProperty("uptime", seconds);
3227 3230
3228 // Construct the isolate list. 3231 // Construct the isolate list.
3229 { 3232 {
3230 JSONArray jsarr(&jsobj, "isolates"); 3233 JSONArray jsarr(&jsobj, "isolates");
3231 ServiceIsolateVisitor visitor(&jsarr); 3234 ServiceIsolateVisitor visitor(&jsarr);
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
3480 while (current != NULL) { 3483 while (current != NULL) {
3481 if (strcmp(name, current->name()) == 0) { 3484 if (strcmp(name, current->name()) == 0) {
3482 return current; 3485 return current;
3483 } 3486 }
3484 current = current->next(); 3487 current = current->next();
3485 } 3488 }
3486 return NULL; 3489 return NULL;
3487 } 3490 }
3488 3491
3489 } // namespace dart 3492 } // namespace dart
OLDNEW
« runtime/vm/dart_api_impl_test.cc ('K') | « runtime/vm/parser.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698