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

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

Issue 1344993002: Refactor isolate interrupts to use OOB messages instead of interrupt bits. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: code review 2 Created 5 years, 2 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
« no previous file with comments | « runtime/vm/isolate.cc ('k') | runtime/vm/service/service.md » ('j') | 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 "include/dart_native_api.h" 8 #include "include/dart_native_api.h"
9 #include "platform/globals.h" 9 #include "platform/globals.h"
10 10
(...skipping 2405 matching lines...) Expand 10 before | Expand all | Expand 10 after
2416 } 2416 }
2417 2417
2418 2418
2419 static const MethodParameter* pause_params[] = { 2419 static const MethodParameter* pause_params[] = {
2420 ISOLATE_PARAMETER, 2420 ISOLATE_PARAMETER,
2421 NULL, 2421 NULL,
2422 }; 2422 };
2423 2423
2424 2424
2425 static bool Pause(Isolate* isolate, JSONStream* js) { 2425 static bool Pause(Isolate* isolate, JSONStream* js) {
2426 // TODO(turnidge): Don't double-interrupt the isolate here. 2426 // TODO(turnidge): This interrupt message could have been sent from
2427 isolate->ScheduleInterrupts(Isolate::kApiInterrupt); 2427 // the service isolate directly, but would require some special case
2428 // code. That would prevent this isolate getting double-interrupted
2429 // with OOB messages.
2430 isolate->SendInternalLibMessage(Isolate::kInterruptMsg,
2431 isolate->pause_capability());
2428 PrintSuccess(js); 2432 PrintSuccess(js);
2429 return true; 2433 return true;
2430 } 2434 }
2431 2435
2432 2436
2433 static const MethodParameter* get_tag_profile_params[] = { 2437 static const MethodParameter* get_tag_profile_params[] = {
2434 ISOLATE_PARAMETER, 2438 ISOLATE_PARAMETER,
2435 NULL, 2439 NULL,
2436 }; 2440 };
2437 2441
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after
3205 ServiceMethodDescriptor& method = service_methods_[i]; 3209 ServiceMethodDescriptor& method = service_methods_[i];
3206 if (strcmp(method_name, method.name) == 0) { 3210 if (strcmp(method_name, method.name) == 0) {
3207 return &method; 3211 return &method;
3208 } 3212 }
3209 } 3213 }
3210 return NULL; 3214 return NULL;
3211 } 3215 }
3212 3216
3213 3217
3214 } // namespace dart 3218 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/isolate.cc ('k') | runtime/vm/service/service.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698