| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stdlib.h> | 5 #include <stdlib.h> |
| 6 #include <string.h> | 6 #include <string.h> |
| 7 #include <stdio.h> | 7 #include <stdio.h> |
| 8 | 8 |
| 9 #include "include/dart_api.h" | 9 #include "include/dart_api.h" |
| 10 #include "include/dart_tools_api.h" | 10 #include "include/dart_tools_api.h" |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 if ((precompiled_snapshot_directory[0] == '=') || | 336 if ((precompiled_snapshot_directory[0] == '=') || |
| 337 (precompiled_snapshot_directory[0] == ':')) { | 337 (precompiled_snapshot_directory[0] == ':')) { |
| 338 precompiled_snapshot_directory = &precompiled_snapshot_directory[1]; | 338 precompiled_snapshot_directory = &precompiled_snapshot_directory[1]; |
| 339 } | 339 } |
| 340 has_run_precompiled_snapshot = true; | 340 has_run_precompiled_snapshot = true; |
| 341 vm_options->AddArgument("--precompilation"); | 341 vm_options->AddArgument("--precompilation"); |
| 342 return true; | 342 return true; |
| 343 } | 343 } |
| 344 | 344 |
| 345 | 345 |
| 346 static bool ProcessNooptOption( | |
| 347 const char* arg, | |
| 348 CommandLineOptions* vm_options) { | |
| 349 ASSERT(arg != NULL); | |
| 350 if (*arg != '\0') { | |
| 351 return false; | |
| 352 } | |
| 353 has_noopt = true; | |
| 354 vm_options->AddArgument("--precompilation"); | |
| 355 return true; | |
| 356 } | |
| 357 | |
| 358 | |
| 359 static bool ProcessScriptSnapshotOptionHelper(const char* filename, | 346 static bool ProcessScriptSnapshotOptionHelper(const char* filename, |
| 360 bool* snapshot_option) { | 347 bool* snapshot_option) { |
| 361 *snapshot_option = false; | 348 *snapshot_option = false; |
| 362 if ((filename != NULL) && (strlen(filename) != 0)) { | 349 if ((filename != NULL) && (strlen(filename) != 0)) { |
| 363 // Ensure that we are already running using a full snapshot. | 350 // Ensure that we are already running using a full snapshot. |
| 364 if (isolate_snapshot_buffer == NULL) { | 351 if (isolate_snapshot_buffer == NULL) { |
| 365 Log::PrintErr("Script snapshots cannot be generated in this version of" | 352 Log::PrintErr("Script snapshots cannot be generated in this version of" |
| 366 " dart\n"); | 353 " dart\n"); |
| 367 return false; | 354 return false; |
| 368 } | 355 } |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 480 { "--packages=", ProcessPackagesOption }, | 467 { "--packages=", ProcessPackagesOption }, |
| 481 { "--package-root=", ProcessPackageRootOption }, | 468 { "--package-root=", ProcessPackageRootOption }, |
| 482 { "-v", ProcessVerboseOption }, | 469 { "-v", ProcessVerboseOption }, |
| 483 { "--verbose", ProcessVerboseOption }, | 470 { "--verbose", ProcessVerboseOption }, |
| 484 { "--version", ProcessVersionOption }, | 471 { "--version", ProcessVersionOption }, |
| 485 | 472 |
| 486 // VM specific options to the standalone dart program. | 473 // VM specific options to the standalone dart program. |
| 487 { "--compile_all", ProcessCompileAllOption }, | 474 { "--compile_all", ProcessCompileAllOption }, |
| 488 { "--enable-vm-service", ProcessEnableVmServiceOption }, | 475 { "--enable-vm-service", ProcessEnableVmServiceOption }, |
| 489 { "--gen-precompiled-snapshot", ProcessGenPrecompiledSnapshotOption }, | 476 { "--gen-precompiled-snapshot", ProcessGenPrecompiledSnapshotOption }, |
| 490 { "--noopt", ProcessNooptOption }, | |
| 491 { "--observe", ProcessObserveOption }, | 477 { "--observe", ProcessObserveOption }, |
| 492 { "--run-precompiled-snapshot", ProcessRunPrecompiledSnapshotOption }, | 478 { "--run-precompiled-snapshot", ProcessRunPrecompiledSnapshotOption }, |
| 493 { "--shutdown", ProcessShutdownOption }, | 479 { "--shutdown", ProcessShutdownOption }, |
| 494 { "--snapshot=", ProcessScriptSnapshotOption }, | 480 { "--snapshot=", ProcessScriptSnapshotOption }, |
| 495 { "--snapshot-after-run=", ProcessScriptSnapshotAfterRunOption }, | 481 { "--snapshot-after-run=", ProcessScriptSnapshotAfterRunOption }, |
| 496 { "--trace-loading", ProcessTraceLoadingOption }, | 482 { "--trace-loading", ProcessTraceLoadingOption }, |
| 497 { NULL, NULL } | 483 { NULL, NULL } |
| 498 }; | 484 }; |
| 499 | 485 |
| 500 | 486 |
| (...skipping 952 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1453 OSError err; | 1439 OSError err; |
| 1454 fprintf(stderr, "Error determining current directory: %s\n", err.message()); | 1440 fprintf(stderr, "Error determining current directory: %s\n", err.message()); |
| 1455 fflush(stderr); | 1441 fflush(stderr); |
| 1456 Platform::Exit(kErrorExitCode); | 1442 Platform::Exit(kErrorExitCode); |
| 1457 } | 1443 } |
| 1458 | 1444 |
| 1459 if (generate_script_snapshot) { | 1445 if (generate_script_snapshot) { |
| 1460 vm_options.AddArgument("--load_deferred_eagerly"); | 1446 vm_options.AddArgument("--load_deferred_eagerly"); |
| 1461 } | 1447 } |
| 1462 | 1448 |
| 1449 #if defined(DART_PRECOMPILER) && !defined(DART_NO_SNAPSHOT) |
| 1450 // Always set --precompilation with dart_noopt, unless already set by these |
| 1451 // command line options. |
| 1452 if (!has_gen_precompiled_snapshot && |
| 1453 !has_run_precompiled_snapshot) { |
| 1454 has_noopt = true; |
| 1455 vm_options.AddArgument("--precompilation"); |
| 1456 } |
| 1457 #endif |
| 1458 |
| 1463 Dart_SetVMFlags(vm_options.count(), vm_options.arguments()); | 1459 Dart_SetVMFlags(vm_options.count(), vm_options.arguments()); |
| 1464 | 1460 |
| 1465 // Start event handler. | 1461 // Start event handler. |
| 1466 TimerUtils::InitOnce(); | 1462 TimerUtils::InitOnce(); |
| 1467 EventHandler::Start(); | 1463 EventHandler::Start(); |
| 1468 | 1464 |
| 1469 const uint8_t* instructions_snapshot = NULL; | 1465 const uint8_t* instructions_snapshot = NULL; |
| 1470 if (has_run_precompiled_snapshot) { | 1466 if (has_run_precompiled_snapshot) { |
| 1471 instructions_snapshot = reinterpret_cast<const uint8_t*>( | 1467 instructions_snapshot = reinterpret_cast<const uint8_t*>( |
| 1472 LoadLibrarySymbol(kPrecompiledLibraryName, kPrecompiledSymbolName)); | 1468 LoadLibrarySymbol(kPrecompiledLibraryName, kPrecompiledSymbolName)); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1537 Platform::Exit(Process::GlobalExitCode()); | 1533 Platform::Exit(Process::GlobalExitCode()); |
| 1538 } | 1534 } |
| 1539 | 1535 |
| 1540 } // namespace bin | 1536 } // namespace bin |
| 1541 } // namespace dart | 1537 } // namespace dart |
| 1542 | 1538 |
| 1543 int main(int argc, char** argv) { | 1539 int main(int argc, char** argv) { |
| 1544 dart::bin::main(argc, argv); | 1540 dart::bin::main(argc, argv); |
| 1545 UNREACHABLE(); | 1541 UNREACHABLE(); |
| 1546 } | 1542 } |
| OLD | NEW |