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

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

Issue 2186423002: Only reload libraries when they may have been modified. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Code review Created 4 years, 4 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/raw_object.h ('k') | runtime/vm/snapshot_test.cc » ('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 2439 matching lines...) Expand 10 before | Expand all | Expand 10 after
2450 report.PrintJSON(js, 2450 report.PrintJSON(js,
2451 script, 2451 script,
2452 TokenPosition(start_pos), 2452 TokenPosition(start_pos),
2453 TokenPosition(end_pos)); 2453 TokenPosition(end_pos));
2454 return true; 2454 return true;
2455 } 2455 }
2456 2456
2457 2457
2458 static const MethodParameter* reload_sources_params[] = { 2458 static const MethodParameter* reload_sources_params[] = {
2459 RUNNABLE_ISOLATE_PARAMETER, 2459 RUNNABLE_ISOLATE_PARAMETER,
2460 new BoolParameter("force", false),
2460 NULL, 2461 NULL,
2461 }; 2462 };
2462 2463
2463 2464
2464 static bool ReloadSources(Thread* thread, JSONStream* js) { 2465 static bool ReloadSources(Thread* thread, JSONStream* js) {
2465 Isolate* isolate = thread->isolate(); 2466 Isolate* isolate = thread->isolate();
2466 if (!isolate->compilation_allowed()) { 2467 if (!isolate->compilation_allowed()) {
2467 js->PrintError(kFeatureDisabled, 2468 js->PrintError(kFeatureDisabled,
2468 "Cannot reload source when running a precompiled program."); 2469 "Cannot reload source when running a precompiled program.");
2469 return true; 2470 return true;
(...skipping 12 matching lines...) Expand all
2482 if (isolate->IsReloading()) { 2483 if (isolate->IsReloading()) {
2483 js->PrintError(kIsolateIsReloading, 2484 js->PrintError(kIsolateIsReloading,
2484 "This isolate is being reloaded."); 2485 "This isolate is being reloaded.");
2485 return true; 2486 return true;
2486 } 2487 }
2487 if (!isolate->CanReload()) { 2488 if (!isolate->CanReload()) {
2488 js->PrintError(kFeatureDisabled, 2489 js->PrintError(kFeatureDisabled,
2489 "This isolate cannot reload sources right now."); 2490 "This isolate cannot reload sources right now.");
2490 return true; 2491 return true;
2491 } 2492 }
2493 const bool force_reload =
2494 BoolParameter::Parse(js->LookupParam("force"), false);
2492 2495
2493 isolate->ReloadSources(); 2496 isolate->ReloadSources(force_reload);
2494 2497
2495 const Error& error = Error::Handle(isolate->sticky_reload_error()); 2498 const Error& error = Error::Handle(isolate->sticky_reload_error());
2496 2499
2497 if (error.IsNull()) { 2500 if (error.IsNull()) {
2498 PrintSuccess(js); 2501 PrintSuccess(js);
2499 } else { 2502 } else {
2500 // Clear the sticky error. 2503 // Clear the sticky error.
2501 isolate->clear_sticky_reload_error(); 2504 isolate->clear_sticky_reload_error();
2502 js->PrintError(kIsolateReloadFailed, 2505 js->PrintError(kIsolateReloadFailed,
2503 "Isolate reload failed: %s", error.ToErrorCString()); 2506 "Isolate reload failed: %s", error.ToErrorCString());
(...skipping 1627 matching lines...) Expand 10 before | Expand all | Expand 10 after
4131 if (strcmp(method_name, method.name) == 0) { 4134 if (strcmp(method_name, method.name) == 0) {
4132 return &method; 4135 return &method;
4133 } 4136 }
4134 } 4137 }
4135 return NULL; 4138 return NULL;
4136 } 4139 }
4137 4140
4138 #endif // !PRODUCT 4141 #endif // !PRODUCT
4139 4142
4140 } // namespace dart 4143 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/raw_object.h ('k') | runtime/vm/snapshot_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698