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

Unified Diff: runtime/bin/main.cc

Issue 1690303002: Add dart_product binary (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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
« no previous file with comments | « runtime/bin/bin.gypi ('k') | tools/testing/dart/runtime_configuration.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/bin/main.cc
diff --git a/runtime/bin/main.cc b/runtime/bin/main.cc
index 6be11f0cc2cb8bf01044760242a257486fd10e48..42c804c8688c0e658280007a44f3fc172e9cfb08 100644
--- a/runtime/bin/main.cc
+++ b/runtime/bin/main.cc
@@ -407,12 +407,10 @@ static bool ProcessFullSnapshotAfterRunOption(
static bool ProcessRunFullSnapshotOption(
const char* filename, CommandLineOptions* vm_options) {
- // Ensure that we are not running 'dart_no_snapshot'.
- if (isolate_snapshot_buffer == NULL) {
- Log::PrintErr("Full Application snapshots cannot be run with"
- " dart_no_snapshot\n");
- return false;
- }
+#ifndef DART_PRODUCT_BINARY
+ Log::PrintErr("Full Application snapshots can only be be run with"
+ " dart_product\n");
+#endif
return ProcessSnapshotOptionHelper(filename, &run_full_snapshot);
}
@@ -742,8 +740,15 @@ static Dart_Isolate CreateIsolateAndSetupHelper(const char* script_uri,
char** error,
int* exit_code) {
ASSERT(script_uri != NULL);
+#if defined(DART_PRODUCT_BINARY)
+ if (strcmp(script_uri, DART_VM_SERVICE_ISOLATE_NAME) == 0) {
+ // No service isolate support.
+ return NULL;
+ }
+#endif // defined(DART_PRODUCT_BINARY)
+
if (run_full_snapshot &&
- !strcmp(script_uri, DART_VM_SERVICE_ISOLATE_NAME)) {
+ (strcmp(script_uri, DART_VM_SERVICE_ISOLATE_NAME) == 0)) {
// We do not create a service isolate when running a full application
// snapshot.
return NULL;
@@ -777,6 +782,9 @@ static Dart_Isolate CreateIsolateAndSetupHelper(const char* script_uri,
Dart_Handle result = Dart_SetLibraryTagHandler(DartUtils::LibraryTagHandler);
CHECK_RESULT(result);
+#if defined(DART_PRODUCT_BINARY)
+ ASSERT(!Dart_IsServiceIsolate(isolate));
+#else
if (Dart_IsServiceIsolate(isolate)) {
// If this is the service isolate, load embedder specific bits and return.
if (!VmService::Setup(vm_service_server_ip,
@@ -793,6 +801,7 @@ static Dart_Isolate CreateIsolateAndSetupHelper(const char* script_uri,
Dart_ExitIsolate();
return isolate;
}
+#endif // defined(DART_PRODUCT_BINARY)
// Prepare builtin and other core libraries for use to resolve URIs.
// Set up various closures, e.g: printing, timers etc.
@@ -1268,6 +1277,7 @@ bool RunMainIsolate(const char* script_name,
reinterpret_cast<IsolateData*>(Dart_IsolateData(isolate));
result = Dart_LibraryImportLibrary(
isolate_data->builtin_lib(), root_lib, Dart_Null());
+#ifndef DART_PRODUCT_BINARY
if (is_noopt || gen_precompiled_snapshot) {
// Load the embedder's portion of the VM service's Dart code so it will
// be included in the precompiled snapshot.
@@ -1279,6 +1289,7 @@ bool RunMainIsolate(const char* script_name,
exit(kErrorExitCode);
}
}
+#endif // !DART_PRODUCT_BINARY
if (compile_all) {
result = Dart_CompileAll();
« no previous file with comments | « runtime/bin/bin.gypi ('k') | tools/testing/dart/runtime_configuration.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698