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

Unified Diff: runtime/bin/gen_snapshot.cc

Issue 2707383007: gen_snapshot: (Closed)
Patch Set: _sanitizeWindowsPath Created 3 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 | « no previous file | runtime/bin/vmservice/loader.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/bin/gen_snapshot.cc
diff --git a/runtime/bin/gen_snapshot.cc b/runtime/bin/gen_snapshot.cc
index d17b0aae3e8f92d1e03ecfe916d0be92f406689b..3a72a058fa2f72e839ebf455867535fec22eed4f 100644
--- a/runtime/bin/gen_snapshot.cc
+++ b/runtime/bin/gen_snapshot.cc
@@ -67,7 +67,6 @@ const uint8_t* isolate_snapshot_data = NULL;
// Global state that indicates whether a snapshot is to be created and
// if so which file to write the snapshot into.
enum SnapshotKind {
- kNone,
kCore,
kScript,
kAppAOTBlobs,
@@ -80,6 +79,7 @@ static const char* isolate_snapshot_data_filename = NULL;
static const char* isolate_snapshot_instructions_filename = NULL;
static const char* assembly_filename = NULL;
static const char* script_snapshot_filename = NULL;
+static bool dependencies_only = false;
static const char* dependencies_filename = NULL;
@@ -208,12 +208,12 @@ static const char* ProcessOption(const char* option, const char* name) {
static bool ProcessSnapshotKindOption(const char* option) {
const char* kind = ProcessOption(option, "--snapshot_kind=");
if (kind == NULL) {
+ kind = ProcessOption(option, "--snapshot-kind=");
+ }
siva 2017/02/27 22:03:37 With these changes of accepting '-' and '_' gen_sn
rmacnak 2017/02/27 23:18:00 Agreed
+ if (kind == NULL) {
return false;
}
- if (strcmp(kind, "none") == 0) {
- snapshot_kind = kNone;
- return true;
- } else if (strcmp(kind, "core") == 0) {
+ if (strcmp(kind, "core") == 0) {
snapshot_kind = kCore;
return true;
} else if (strcmp(kind, "script") == 0) {
@@ -236,6 +236,9 @@ static bool ProcessSnapshotKindOption(const char* option) {
static bool ProcessVmSnapshotDataOption(const char* option) {
const char* name = ProcessOption(option, "--vm_snapshot_data=");
+ if (name == NULL) {
+ name = ProcessOption(option, "--vm-snapshot-data=");
+ }
if (name != NULL) {
vm_snapshot_data_filename = name;
return true;
@@ -246,6 +249,9 @@ static bool ProcessVmSnapshotDataOption(const char* option) {
static bool ProcessVmSnapshotInstructionsOption(const char* option) {
const char* name = ProcessOption(option, "--vm_snapshot_instructions=");
+ if (name == NULL) {
+ name = ProcessOption(option, "--vm-snapshot-instructions=");
+ }
if (name != NULL) {
vm_snapshot_instructions_filename = name;
return true;
@@ -256,6 +262,9 @@ static bool ProcessVmSnapshotInstructionsOption(const char* option) {
static bool ProcessIsolateSnapshotDataOption(const char* option) {
const char* name = ProcessOption(option, "--isolate_snapshot_data=");
+ if (name == NULL) {
+ name = ProcessOption(option, "--isolate-snapshot-data=");
+ }
if (name != NULL) {
isolate_snapshot_data_filename = name;
return true;
@@ -266,6 +275,9 @@ static bool ProcessIsolateSnapshotDataOption(const char* option) {
static bool ProcessIsolateSnapshotInstructionsOption(const char* option) {
const char* name = ProcessOption(option, "--isolate_snapshot_instructions=");
+ if (name == NULL) {
+ name = ProcessOption(option, "--isolate-snapshot-instructions=");
+ }
if (name != NULL) {
isolate_snapshot_instructions_filename = name;
return true;
@@ -286,6 +298,9 @@ static bool ProcessAssemblyOption(const char* option) {
static bool ProcessScriptSnapshotOption(const char* option) {
const char* name = ProcessOption(option, "--script_snapshot=");
+ if (name == NULL) {
+ name = ProcessOption(option, "--script-snapshot=");
+ }
if (name != NULL) {
script_snapshot_filename = name;
return true;
@@ -304,6 +319,19 @@ static bool ProcessDependenciesOption(const char* option) {
}
+static bool ProcessDependenciesOnlyOption(const char* option) {
+ const char* name = ProcessOption(option, "--dependencies_only");
+ if (name == NULL) {
+ name = ProcessOption(option, "--dependencies-only");
+ }
+ if (name != NULL) {
+ dependencies_only = true;
+ return true;
+ }
+ return false;
+}
+
+
static bool ProcessEmbedderEntryPointsManifestOption(const char* option) {
const char* name = ProcessOption(option, "--embedder_entry_points_manifest=");
if (name != NULL) {
@@ -377,6 +405,7 @@ static int ParseArguments(int argc,
ProcessAssemblyOption(argv[i]) ||
ProcessScriptSnapshotOption(argv[i]) ||
ProcessDependenciesOption(argv[i]) ||
+ ProcessDependenciesOnlyOption(argv[i]) ||
ProcessEmbedderEntryPointsManifestOption(argv[i]) ||
ProcessURLmappingOption(argv[i]) || ProcessPackageRootOption(argv[i]) ||
ProcessPackagesOption(argv[i]) || ProcessEnvironmentOption(argv[i])) {
@@ -405,15 +434,6 @@ static int ParseArguments(int argc,
}
switch (snapshot_kind) {
- case kNone: {
- if (*script_name == NULL) {
- Log::PrintErr(
- "Building without snapshot generation requires a Dart "
- "script.\n\n");
- return -1;
- }
- break;
- }
case kCore: {
if ((vm_snapshot_data_filename == NULL) ||
(isolate_snapshot_data_filename == NULL)) {
@@ -431,7 +451,7 @@ static int ParseArguments(int argc,
Log::PrintErr(
"Building a script snapshot requires specifying input files for "
"--vm_snapshot_data and --isolate_snapshot_data, an output file "
- "for --script-snapshot, and a Dart script.\n\n");
+ "for --script_snapshot, and a Dart script.\n\n");
return -1;
}
break;
@@ -663,33 +683,32 @@ static void CreateAndWriteDependenciesFile() {
bool success = true;
// Targets:
- if (vm_snapshot_data_filename != NULL) {
- success &=
- file->Print("%s ", File::GetCanonicalPath(vm_snapshot_data_filename));
- }
- if (vm_snapshot_instructions_filename != NULL) {
- success &= file->Print(
- "%s ", File::GetCanonicalPath(vm_snapshot_instructions_filename));
- }
- if (isolate_snapshot_data_filename != NULL) {
- success &= file->Print(
- "%s ", File::GetCanonicalPath(isolate_snapshot_data_filename));
- }
- if (isolate_snapshot_instructions_filename != NULL) {
- success &= file->Print(
- "%s ", File::GetCanonicalPath(isolate_snapshot_instructions_filename));
- }
- if (assembly_filename != NULL) {
- success &= file->Print("%s ", File::GetCanonicalPath(assembly_filename));
- }
- if (script_snapshot_filename != NULL) {
- success &=
- file->Print("%s ", File::GetCanonicalPath(script_snapshot_filename));
+ switch (snapshot_kind) {
+ case kCore:
+ success &= file->Print("%s ", vm_snapshot_data_filename);
+ success &= file->Print("%s ", isolate_snapshot_data_filename);
+ break;
+ case kScript:
+ success &= file->Print("%s ", script_snapshot_filename);
+ break;
+ case kAppAOTAssembly:
+ success &= file->Print("%s ", assembly_filename);
+ break;
+ case kAppAOTBlobs:
+ success &= file->Print("%s ", vm_snapshot_data_filename);
+ success &= file->Print("%s ", vm_snapshot_instructions_filename);
+ success &= file->Print("%s ", isolate_snapshot_data_filename);
+ success &= file->Print("%s ", isolate_snapshot_instructions_filename);
+ break;
}
success &= file->Print(": ");
// Sources:
+ if (snapshot_kind == kScript) {
+ success &= file->Print("%s ", vm_snapshot_data_filename);
+ success &= file->Print("%s ", isolate_snapshot_data_filename);
+ }
for (intptr_t i = 0; i < dependencies->length(); i++) {
char* dep = dependencies->At(i);
success &= file->Print("%s ", dep);
@@ -820,11 +839,7 @@ static void PrintUsage() {
" --dependencies=<output-file> Generates a Makefile with snapshot output \n"
" files as targets and all transitive imports\n"
" as sources. \n"
-" \n"
-" To discover dependencies without generating a snapshot: \n"
-" --snapshot_kind=none \n"
-" --dependencies=<output-file> \n"
-" <dart-script-file> \n"
+" --dependencies_only Don't create and output the snapshot. \n"
" \n"
" To create a core snapshot: \n"
" --snapshot_kind=core \n"
@@ -1613,21 +1628,21 @@ int main(int argc, char** argv) {
result = Dart_FinalizeLoading(false);
CHECK_RESULT(result);
- switch (snapshot_kind) {
- case kNone:
- break;
- case kCore:
- CreateAndWriteCoreSnapshot();
- break;
- case kScript:
- CreateAndWriteScriptSnapshot();
- break;
- case kAppAOTBlobs:
- case kAppAOTAssembly:
- CreateAndWritePrecompiledSnapshot(entry_points);
- break;
- default:
- UNREACHABLE();
+ if (!dependencies_only) {
+ switch (snapshot_kind) {
+ case kCore:
+ CreateAndWriteCoreSnapshot();
+ break;
+ case kScript:
+ CreateAndWriteScriptSnapshot();
+ break;
+ case kAppAOTBlobs:
+ case kAppAOTAssembly:
+ CreateAndWritePrecompiledSnapshot(entry_points);
+ break;
+ default:
+ UNREACHABLE();
+ }
}
CreateAndWriteDependenciesFile();
« no previous file with comments | « no previous file | runtime/bin/vmservice/loader.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698