Index: runtime/bin/main.cc |
diff --git a/runtime/bin/main.cc b/runtime/bin/main.cc |
index cbe38ef74c80f16fe16e762e02b70a61778c33de..7337d57969328a763215d111e542b3c9b70ede37 100644 |
--- a/runtime/bin/main.cc |
+++ b/runtime/bin/main.cc |
@@ -2,9 +2,9 @@ |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
+#include <stdio.h> |
#include <stdlib.h> |
#include <string.h> |
-#include <stdio.h> |
#include "include/dart_api.h" |
#include "include/dart_tools_api.h" |
@@ -114,31 +114,25 @@ static const char* commandline_package_root = NULL; |
// free'd.) |
static const char* commandline_packages_file = NULL; |
- |
// Global flag that is used to indicate that we want to compile all the |
// dart functions and not run anything. |
static bool compile_all = false; |
static bool parse_all = false; |
- |
// Global flag that is used to indicate that we want to use blobs/mmap instead |
// of assembly/shared libraries for precompilation. |
static bool use_blobs = false; |
- |
// Global flag that is used to indicate that we want to trace resolution of |
// URIs and the loading of libraries, parts and scripts. |
static bool trace_loading = false; |
- |
static char* app_script_uri = NULL; |
static const uint8_t* app_isolate_snapshot_data = NULL; |
static const uint8_t* app_isolate_snapshot_instructions = NULL; |
- |
static Dart_Isolate main_isolate = NULL; |
- |
static const char* DEFAULT_VM_SERVICE_SERVER_IP = "localhost"; |
static const int DEFAULT_VM_SERVICE_SERVER_PORT = 8181; |
// VM Service options. |
@@ -150,7 +144,6 @@ static int vm_service_server_port = -1; |
// checks are disabled. |
static bool vm_service_dev_mode = false; |
- |
// The environment provided through the command line using -D options. |
static dart::HashMap* environment = NULL; |
@@ -162,7 +155,6 @@ static bool IsValidFlag(const char* name, |
(strncmp(name, prefix, prefix_length) == 0)); |
} |
- |
static bool version_option = false; |
static bool ProcessVersionOption(const char* arg, |
CommandLineOptions* vm_options) { |
@@ -173,7 +165,6 @@ static bool ProcessVersionOption(const char* arg, |
return true; |
} |
- |
static bool help_option = false; |
static bool ProcessHelpOption(const char* arg, CommandLineOptions* vm_options) { |
if (*arg != '\0') { |
@@ -183,7 +174,6 @@ static bool ProcessHelpOption(const char* arg, CommandLineOptions* vm_options) { |
return true; |
} |
- |
static bool verbose_option = false; |
static bool ProcessVerboseOption(const char* arg, |
CommandLineOptions* vm_options) { |
@@ -194,7 +184,6 @@ static bool ProcessVerboseOption(const char* arg, |
return true; |
} |
- |
static bool ProcessPackageRootOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -205,7 +194,6 @@ static bool ProcessPackageRootOption(const char* arg, |
return true; |
} |
- |
static bool ProcessPackagesOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -216,7 +204,6 @@ static bool ProcessPackagesOption(const char* arg, |
return true; |
} |
- |
static bool ProcessSaveCompilationTraceOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -227,7 +214,6 @@ static bool ProcessSaveCompilationTraceOption(const char* arg, |
return true; |
} |
- |
static bool ProcessLoadCompilationTraceOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -238,7 +224,6 @@ static bool ProcessLoadCompilationTraceOption(const char* arg, |
return true; |
} |
- |
static bool ProcessSaveFeedbackOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -249,7 +234,6 @@ static bool ProcessSaveFeedbackOption(const char* arg, |
return true; |
} |
- |
static bool ProcessLoadFeedbackOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -260,12 +244,10 @@ static bool ProcessLoadFeedbackOption(const char* arg, |
return true; |
} |
- |
static void* GetHashmapKeyFromString(char* key) { |
return reinterpret_cast<void*>(key); |
} |
- |
static bool ExtractPortAndAddress(const char* option_value, |
int* out_port, |
const char** out_ip, |
@@ -302,7 +284,6 @@ static bool ExtractPortAndAddress(const char* option_value, |
return true; |
} |
- |
static bool ProcessEnvironmentOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -345,7 +326,6 @@ static bool ProcessEnvironmentOption(const char* arg, |
return true; |
} |
- |
static bool ProcessCompileAllOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -356,7 +336,6 @@ static bool ProcessCompileAllOption(const char* arg, |
return true; |
} |
- |
static bool ProcessParseAllOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -367,7 +346,6 @@ static bool ProcessParseAllOption(const char* arg, |
return true; |
} |
- |
#if !defined(DART_PRECOMPILED_RUNTIME) |
static bool ProcessFrontendOption(const char* filename, |
CommandLineOptions* vm_options) { |
@@ -380,7 +358,6 @@ static bool ProcessFrontendOption(const char* filename, |
return true; |
} |
- |
static bool ProcessKernelBinariesOption(const char* dirname, |
CommandLineOptions* vm_options) { |
ASSERT(dirname != NULL); |
@@ -392,7 +369,6 @@ static bool ProcessKernelBinariesOption(const char* dirname, |
} |
#endif |
- |
static bool ProcessUseBlobsOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -403,7 +379,6 @@ static bool ProcessUseBlobsOption(const char* arg, |
return true; |
} |
- |
static bool ProcessSnapshotFilenameOption(const char* filename, |
CommandLineOptions* vm_options) { |
snapshot_filename = filename; |
@@ -413,7 +388,6 @@ static bool ProcessSnapshotFilenameOption(const char* filename, |
return true; |
} |
- |
static bool ProcessSnapshotKindOption(const char* kind, |
CommandLineOptions* vm_options) { |
if (strcmp(kind, "script") == 0) { |
@@ -433,14 +407,12 @@ static bool ProcessSnapshotKindOption(const char* kind, |
return false; |
} |
- |
static bool ProcessSnapshotDepsFilenameOption(const char* filename, |
CommandLineOptions* vm_options) { |
snapshot_deps_filename = filename; |
return true; |
} |
- |
static bool ProcessEnableVmServiceOption(const char* option_value, |
CommandLineOptions* vm_options) { |
ASSERT(option_value != NULL); |
@@ -457,7 +429,6 @@ static bool ProcessEnableVmServiceOption(const char* option_value, |
return true; |
} |
- |
static bool ProcessDisableServiceOriginCheckOption( |
const char* option_value, |
CommandLineOptions* vm_options) { |
@@ -469,7 +440,6 @@ static bool ProcessDisableServiceOriginCheckOption( |
return true; |
} |
- |
static bool ProcessObserveOption(const char* option_value, |
CommandLineOptions* vm_options) { |
ASSERT(option_value != NULL); |
@@ -490,7 +460,6 @@ static bool ProcessObserveOption(const char* option_value, |
return true; |
} |
- |
static bool ProcessTraceLoadingOption(const char* arg, |
CommandLineOptions* vm_options) { |
if (*arg != '\0') { |
@@ -500,7 +469,6 @@ static bool ProcessTraceLoadingOption(const char* arg, |
return true; |
} |
- |
static bool ProcessHotReloadTestModeOption(const char* arg, |
CommandLineOptions* vm_options) { |
if (*arg != '\0') { |
@@ -521,7 +489,6 @@ static bool ProcessHotReloadTestModeOption(const char* arg, |
return true; |
} |
- |
static bool ProcessHotReloadRollbackTestModeOption( |
const char* arg, |
CommandLineOptions* vm_options) { |
@@ -541,7 +508,6 @@ static bool ProcessHotReloadRollbackTestModeOption( |
return true; |
} |
- |
extern bool short_socket_read; |
extern bool short_socket_write; |
@@ -552,14 +518,12 @@ static bool ProcessShortSocketReadOption(const char* arg, |
return true; |
} |
- |
static bool ProcessShortSocketWriteOption(const char* arg, |
CommandLineOptions* vm_options) { |
short_socket_write = true; |
return true; |
} |
- |
extern const char* commandline_root_certs_file; |
extern const char* commandline_root_certs_cache; |
@@ -579,7 +543,6 @@ static bool ProcessRootCertsFileOption(const char* arg, |
return true; |
} |
- |
static bool ProcessRootCertsCacheOption(const char* arg, |
CommandLineOptions* vm_options) { |
ASSERT(arg != NULL); |
@@ -596,7 +559,6 @@ static bool ProcessRootCertsCacheOption(const char* arg, |
return true; |
} |
- |
static struct { |
const char* option_name; |
bool (*process)(const char* option, CommandLineOptions* vm_options); |
@@ -638,7 +600,6 @@ static struct { |
{"--root-certs-cache=", ProcessRootCertsCacheOption}, |
{NULL, NULL}}; |
- |
static bool ProcessMainOptions(const char* option, |
CommandLineOptions* vm_options) { |
int i = 0; |
@@ -657,7 +618,6 @@ static bool ProcessMainOptions(const char* option, |
return false; |
} |
- |
// Parse out the command line arguments. Returns -1 if the arguments |
// are incorrect, 0 otherwise. |
static int ParseArguments(int argc, |
@@ -774,7 +734,6 @@ static int ParseArguments(int argc, |
return 0; |
} |
- |
static Dart_Handle CreateRuntimeOptions(CommandLineOptions* options) { |
int options_count = options->count(); |
Dart_Handle dart_arguments = Dart_NewList(options_count); |
@@ -794,7 +753,6 @@ static Dart_Handle CreateRuntimeOptions(CommandLineOptions* options) { |
return dart_arguments; |
} |
- |
static Dart_Handle EnvironmentCallback(Dart_Handle name) { |
uint8_t* utf8_array; |
intptr_t utf8_len; |
@@ -825,7 +783,6 @@ static Dart_Handle EnvironmentCallback(Dart_Handle name) { |
return result; |
} |
- |
#define SAVE_ERROR_AND_EXIT(result) \ |
*error = strdup(Dart_GetError(result)); \ |
if (Dart_IsCompilationError(result)) { \ |
@@ -839,20 +796,17 @@ static Dart_Handle EnvironmentCallback(Dart_Handle name) { |
Dart_ShutdownIsolate(); \ |
return NULL; |
- |
#define CHECK_RESULT(result) \ |
if (Dart_IsError(result)) { \ |
SAVE_ERROR_AND_EXIT(result); \ |
} |
- |
#define CHECK_RESULT_CLEANUP(result, cleanup) \ |
if (Dart_IsError(result)) { \ |
delete (cleanup); \ |
SAVE_ERROR_AND_EXIT(result); \ |
} |
- |
static void SnapshotOnExitHook(int64_t exit_code) { |
if (Dart_CurrentIsolate() != main_isolate) { |
Log::PrintErr( |
@@ -866,7 +820,6 @@ static void SnapshotOnExitHook(int64_t exit_code) { |
} |
} |
- |
static Dart_Isolate IsolateSetupHelper(Dart_Isolate isolate, |
bool is_main_isolate, |
const char* script_uri, |
@@ -972,7 +925,6 @@ static Dart_Isolate IsolateSetupHelper(Dart_Isolate isolate, |
return isolate; |
} |
- |
#if !defined(DART_PRECOMPILED_RUNTIME) |
// Returns newly created Kernel Isolate on success, NULL on failure. |
// For now we only support the kernel isolate coming up from an |
@@ -1024,7 +976,6 @@ static Dart_Isolate CreateAndSetupKernelIsolate(const char* main, |
} |
#endif // !defined(DART_PRECOMPILED_RUNTIME) |
- |
// Returns newly created Service Isolate on success, NULL on failure. |
// For now we only support the service isolate coming up from sources |
// which are compiled by the VM parser. |
@@ -1104,7 +1055,6 @@ static Dart_Isolate CreateAndSetupServiceIsolate(const char* script_uri, |
return isolate; |
} |
- |
// Returns newly created Isolate on success, NULL on failure. |
static Dart_Isolate CreateIsolateAndSetupHelper(bool is_main_isolate, |
const char* script_uri, |
@@ -1193,7 +1143,6 @@ static Dart_Isolate CreateIsolateAndSetupHelper(bool is_main_isolate, |
#undef CHECK_RESULT |
- |
static Dart_Isolate CreateIsolateAndSetup(const char* script_uri, |
const char* main, |
const char* package_root, |
@@ -1229,12 +1178,10 @@ static Dart_Isolate CreateIsolateAndSetup(const char* script_uri, |
&exit_code); |
} |
- |
static void PrintVersion() { |
Log::PrintErr("Dart VM version: %s\n", Dart_VersionString()); |
} |
- |
// clang-format off |
static void PrintUsage() { |
Log::PrintErr( |
@@ -1329,7 +1276,6 @@ static void PrintUsage() { |
} |
// clang-format on |
- |
char* BuildIsolateName(const char* script_name, const char* func_name) { |
// Skip past any slashes in the script name. |
const char* last_slash = strrchr(script_name, '/'); |
@@ -1345,23 +1291,19 @@ char* BuildIsolateName(const char* script_name, const char* func_name) { |
return buffer; |
} |
- |
static void OnIsolateShutdown(void* callback_data) { |
IsolateData* isolate_data = reinterpret_cast<IsolateData*>(callback_data); |
isolate_data->OnIsolateShutdown(); |
} |
- |
static void DeleteIsolateData(void* callback_data) { |
IsolateData* isolate_data = reinterpret_cast<IsolateData*>(callback_data); |
delete isolate_data; |
} |
- |
static const char* kStdoutStreamId = "Stdout"; |
static const char* kStderrStreamId = "Stderr"; |
- |
static bool ServiceStreamListenCallback(const char* stream_id) { |
if (strcmp(stream_id, kStdoutStreamId) == 0) { |
SetCaptureStdout(true); |
@@ -1373,7 +1315,6 @@ static bool ServiceStreamListenCallback(const char* stream_id) { |
return false; |
} |
- |
static void ServiceStreamCancelCallback(const char* stream_id) { |
if (strcmp(stream_id, kStdoutStreamId) == 0) { |
SetCaptureStdout(false); |
@@ -1382,7 +1323,6 @@ static void ServiceStreamCancelCallback(const char* stream_id) { |
} |
} |
- |
static bool FileModifiedCallback(const char* url, int64_t since) { |
if (strncmp(url, "file:///", 8) == 0) { |
// If it isn't a file on local disk, we don't know if it has been |
@@ -1398,7 +1338,6 @@ static bool FileModifiedCallback(const char* url, int64_t since) { |
return modified; |
} |
- |
static void GenerateAppAOTSnapshot() { |
if (use_blobs) { |
Snapshot::GenerateAppAOTAsBlobs(snapshot_filename); |
@@ -1407,7 +1346,6 @@ static void GenerateAppAOTSnapshot() { |
} |
} |
- |
#define CHECK_RESULT(result) \ |
if (Dart_IsError(result)) { \ |
const int exit_code = Dart_IsCompilationError(result) \ |
@@ -1416,7 +1354,6 @@ static void GenerateAppAOTSnapshot() { |
ErrorExit(exit_code, "%s\n", Dart_GetError(result)); \ |
} |
- |
static void WriteFile(const char* filename, |
const uint8_t* buffer, |
const intptr_t size) { |
@@ -1430,7 +1367,6 @@ static void WriteFile(const char* filename, |
file->Release(); |
} |
- |
static void ReadFile(const char* filename, uint8_t** buffer, intptr_t* size) { |
File* file = File::Open(filename, File::kRead); |
if (file == NULL) { |
@@ -1444,7 +1380,6 @@ static void ReadFile(const char* filename, uint8_t** buffer, intptr_t* size) { |
file->Release(); |
} |
- |
bool RunMainIsolate(const char* script_name, CommandLineOptions* dart_options) { |
// Call CreateIsolateAndSetup which creates an isolate and loads up |
// the specified application script. |
@@ -1492,8 +1427,8 @@ bool RunMainIsolate(const char* script_name, CommandLineOptions* dart_options) { |
result = Dart_LibraryImportLibrary(isolate_data->builtin_lib(), root_lib, |
Dart_Null()); |
if ((gen_snapshot_kind == kAppAOT) || (gen_snapshot_kind == kAppJIT)) { |
- // Load the embedder's portion of the VM service's Dart code so it will |
- // be included in the app snapshot. |
+// Load the embedder's portion of the VM service's Dart code so it will |
+// be included in the app snapshot. |
#if defined(DART_PRECOMPILED_RUNTIME) |
if (!VmService::LoadForGenPrecompiled(NULL)) { |
#else |
@@ -1699,13 +1634,11 @@ bool RunMainIsolate(const char* script_name, CommandLineOptions* dart_options) { |
#undef CHECK_RESULT |
- |
// Observatory assets are only needed in the regular dart binary. |
#if !defined(DART_PRECOMPILER) && !defined(NO_OBSERVATORY) |
extern unsigned int observatory_assets_archive_len; |
extern const uint8_t* observatory_assets_archive; |
- |
// |input| is assumed to be a gzipped stream. |
// This function allocates the output buffer in the C heap and the caller |
// is responsible for freeing it. |
@@ -1771,7 +1704,6 @@ void Decompress(const uint8_t* input, |
inflateEnd(&strm); |
} |
- |
Dart_Handle GetVMServiceAssetsArchiveCallback() { |
uint8_t* decompressed = NULL; |
unsigned int decompressed_len = 0; |
@@ -1787,7 +1719,6 @@ Dart_Handle GetVMServiceAssetsArchiveCallback() { |
static Dart_GetVMServiceAssetsArchive GetVMServiceAssetsArchiveCallback = NULL; |
#endif // !defined(DART_PRECOMPILER) |
- |
void main(int argc, char** argv) { |
char* script_name; |
const int EXTRA_VM_ARGUMENTS = 8; |