| Index: runtime/bin/loader.cc
|
| diff --git a/runtime/bin/loader.cc b/runtime/bin/loader.cc
|
| index 62a655dc35aa72ade12e4d28c79d916eda4a74b8..b25f3c86f6fd5e2718cfba066d7cfd6f09a8abeb 100644
|
| --- a/runtime/bin/loader.cc
|
| +++ b/runtime/bin/loader.cc
|
| @@ -650,25 +650,26 @@ Dart_Handle Loader::LibraryTagHandler(Dart_LibraryTag tag,
|
| }
|
| return Dart_DefaultCanonicalizeUrl(library_url, url);
|
| }
|
| - if (dfe.UseDartFrontend()) {
|
| - Dart_Isolate current = Dart_CurrentIsolate();
|
| - if (!Dart_IsServiceIsolate(current) && !Dart_IsKernelIsolate(current)) {
|
| - // When using DFE the library tag handler should be called only when we
|
| - // are reloading scripts.
|
| - ASSERT(tag == Dart_kScriptTag);
|
| - return dfe.ReloadScript(current, url);
|
| - }
|
| - // 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.
|
| - }
|
| const char* url_string = NULL;
|
| Dart_Handle result = Dart_StringToCString(url, &url_string);
|
| if (Dart_IsError(result)) {
|
| return result;
|
| }
|
| -
|
| - // Special case for handling dart: imports and parts.
|
| - if (tag != Dart_kScriptTag) {
|
| + if (tag == Dart_kScriptTag) {
|
| + if (dfe.UseDartFrontend()) {
|
| + 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 {
|
| + // Special case for handling dart: imports and parts.
|
| // Grab the library's url.
|
| Dart_Handle library_url = Dart_LibraryUrl(library);
|
| if (Dart_IsError(library_url)) {
|
|
|