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

Unified Diff: runtime/bin/main.cc

Issue 9254026: Split dart:builtin into dart:builtin and dart:io. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 11 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/main.cc
diff --git a/runtime/bin/main.cc b/runtime/bin/main.cc
index be408da173628d16664f23c45b14a8ebb812e258..4812fa36e20a5b4c655ffdd783e9e785b7af0c19 100644
--- a/runtime/bin/main.cc
+++ b/runtime/bin/main.cc
@@ -243,7 +243,7 @@ static Dart_Handle LibraryTagHandler(Dart_LibraryTag tag,
}
result = DartUtils::LoadSource(NULL, library, url, tag, url_string);
if (!Dart_IsError(result) && (tag == kImportTag)) {
- Builtin::ImportLibrary(result);
+ Builtin::ImportLibrary(result, Builtin::kBuiltinLibrary);
}
return result;
}
@@ -275,6 +275,15 @@ static bool CreateIsolateAndSetup(const char* name_prefix,
if (script_snapshot_buffer != NULL) {
library = Dart_LoadScriptFromSnapshot(script_snapshot_buffer);
} else {
+ // If we are not using snapshots make sure that the builtin IO
+ // library is loaded so the main script can import it. Since we do
+ // not have a tag handler at this point, load the libraries needed
+ // by the IO library directly instead of relying on imports.
+ if (snapshot_buffer == NULL) {
+ Dart_Handle io_lib = Builtin::LoadLibrary(Builtin::kIOLibrary);
+ Builtin::ImportLibrary(io_lib, Builtin::kNativeWrappersLibrary);
+ Builtin::ImportLibrary(io_lib, Builtin::kCoreImplLibrary);
+ }
library = LoadScript(canonical_script_name);
}
if (Dart_IsError(library)) {
@@ -294,11 +303,13 @@ static bool CreateIsolateAndSetup(const char* name_prefix,
return false;
}
if (script_snapshot_buffer == NULL) {
- Builtin::ImportLibrary(library); // Implicitly import builtin into app.
+ // Implicitly import builtin into app.
+ Builtin::ImportLibrary(library, Builtin::kBuiltinLibrary);
}
if (snapshot_buffer != NULL) {
// Setup the native resolver as the snapshot does not carry it.
- Builtin::SetNativeResolver();
+ Builtin::SetNativeResolver(Builtin::kBuiltinLibrary);
+ Builtin::SetNativeResolver(Builtin::kIOLibrary);
}
Dart_ExitScope();
return true;

Powered by Google App Engine
This is Rietveld 408576698