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

Unified Diff: runtime/bin/loader.cc

Issue 2998983002: 1. Figure out the modified libraries from the specifeid kernel file during (Closed)
Patch Set: Address code review comments. Created 3 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 side-by-side diff with in-line comments
Download patch
Index: runtime/bin/loader.cc
diff --git a/runtime/bin/loader.cc b/runtime/bin/loader.cc
index 28a59159be4c88f8e506db9c577e3d4076425c78..ffc3c355a139efea380f56904926b9d4a270333d 100644
--- a/runtime/bin/loader.cc
+++ b/runtime/bin/loader.cc
@@ -673,20 +673,14 @@ Dart_Handle Loader::LibraryTagHandler(Dart_LibraryTag tag,
if (Dart_IsError(result)) {
return result;
}
- if (tag == Dart_kScriptTag) {
- if (dfe.UseDartFrontend() || dfe.kernel_file_specified()) {
- Dart_Isolate current = Dart_CurrentIsolate();
- // Check if we are trying to reload a kernel file or if the '--dfe'
- // option was specified and we need to compile sources using DFE.
- if (!Dart_IsServiceIsolate(current) && !Dart_IsKernelIsolate(current)) {
- // When using DFE the library tag handler should be called only when
- // we are reloading scripts.
- return dfe.ReloadScript(current, url_string);
- }
- }
- // TODO(asiva) We need to ensure that the kernel and service isolates
- // are always loaded from a kernel IR and do not use this path.
- } else {
+ if (tag == Dart_kKernelTag) {
+ ASSERT(dfe.UseDartFrontend() || dfe.kernel_file_specified());
+ Dart_Isolate current = Dart_CurrentIsolate();
+ ASSERT(!Dart_IsServiceIsolate(current) && !Dart_IsKernelIsolate(current));
+ return dfe.ReadKernelBinary(current, url_string);
+ }
+ ASSERT(!dfe.UseDartFrontend() && !dfe.kernel_file_specified());
+ if (tag != Dart_kScriptTag) {
// Special case for handling dart: imports and parts.
// Grab the library's url.
Dart_Handle library_url = Dart_LibraryUrl(library);
@@ -707,7 +701,6 @@ Dart_Handle Loader::LibraryTagHandler(Dart_LibraryTag tag,
url_string);
}
}
-
if (DartUtils::IsDartExtensionSchemeURL(url_string)) {
// Handle early error cases for dart-ext: imports.
if (tag != Dart_kImportTag) {

Powered by Google App Engine
This is Rietveld 408576698