| 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_debugger_api.h" | 10 #include "include/dart_debugger_api.h" |
| (...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 623 static int ErrorExit(int exit_code, const char* format, ...) { | 623 static int ErrorExit(int exit_code, const char* format, ...) { |
| 624 va_list arguments; | 624 va_list arguments; |
| 625 va_start(arguments, format); | 625 va_start(arguments, format); |
| 626 Log::VPrintErr(format, arguments); | 626 Log::VPrintErr(format, arguments); |
| 627 va_end(arguments); | 627 va_end(arguments); |
| 628 fflush(stderr); | 628 fflush(stderr); |
| 629 | 629 |
| 630 Dart_ExitScope(); | 630 Dart_ExitScope(); |
| 631 Dart_ShutdownIsolate(); | 631 Dart_ShutdownIsolate(); |
| 632 | 632 |
| 633 Dart_Cleanup(); |
| 634 |
| 633 return exit_code; | 635 return exit_code; |
| 634 } | 636 } |
| 635 | 637 |
| 636 | 638 |
| 637 static int DartErrorExit(Dart_Handle error) { | 639 static int DartErrorExit(Dart_Handle error) { |
| 638 const int exit_code = Dart_IsCompilationError(error) ? | 640 const int exit_code = Dart_IsCompilationError(error) ? |
| 639 kCompilationErrorExitCode : kErrorExitCode; | 641 kCompilationErrorExitCode : kErrorExitCode; |
| 640 return ErrorExit(exit_code, "%s\n", Dart_GetError(error)); | 642 return ErrorExit(exit_code, "%s\n", Dart_GetError(error)); |
| 641 } | 643 } |
| 642 | 644 |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 Dart_EnterScope(); | 794 Dart_EnterScope(); |
| 793 | 795 |
| 794 if (generate_script_snapshot) { | 796 if (generate_script_snapshot) { |
| 795 // First create a snapshot. | 797 // First create a snapshot. |
| 796 Dart_Handle result; | 798 Dart_Handle result; |
| 797 uint8_t* buffer = NULL; | 799 uint8_t* buffer = NULL; |
| 798 intptr_t size = 0; | 800 intptr_t size = 0; |
| 799 result = Dart_CreateScriptSnapshot(&buffer, &size); | 801 result = Dart_CreateScriptSnapshot(&buffer, &size); |
| 800 if (Dart_IsError(result)) { | 802 if (Dart_IsError(result)) { |
| 801 Log::PrintErr("%s\n", Dart_GetError(result)); | 803 Log::PrintErr("%s\n", Dart_GetError(result)); |
| 802 Dart_ExitScope(); | |
| 803 Dart_ShutdownIsolate(); | |
| 804 return DartErrorExit(result); | 804 return DartErrorExit(result); |
| 805 } | 805 } |
| 806 | 806 |
| 807 // Write the magic number to indicate file is a script snapshot. | 807 // Write the magic number to indicate file is a script snapshot. |
| 808 DartUtils::WriteMagicNumber(snapshot_file); | 808 DartUtils::WriteMagicNumber(snapshot_file); |
| 809 | 809 |
| 810 // Now write the snapshot out to specified file. | 810 // Now write the snapshot out to specified file. |
| 811 bool bytes_written = snapshot_file->WriteFully(buffer, size); | 811 bool bytes_written = snapshot_file->WriteFully(buffer, size); |
| 812 ASSERT(bytes_written); | 812 ASSERT(bytes_written); |
| 813 delete snapshot_file; | 813 delete snapshot_file; |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 868 } | 868 } |
| 869 } | 869 } |
| 870 } | 870 } |
| 871 | 871 |
| 872 Dart_ExitScope(); | 872 Dart_ExitScope(); |
| 873 // Shutdown the isolate. | 873 // Shutdown the isolate. |
| 874 Dart_ShutdownIsolate(); | 874 Dart_ShutdownIsolate(); |
| 875 // Terminate process exit-code handler. | 875 // Terminate process exit-code handler. |
| 876 Process::TerminateExitCodeHandler(); | 876 Process::TerminateExitCodeHandler(); |
| 877 | 877 |
| 878 Dart_Cleanup(); |
| 879 |
| 878 // Free copied argument strings if converted. | 880 // Free copied argument strings if converted. |
| 879 if (argv_converted) { | 881 if (argv_converted) { |
| 880 for (int i = 0; i < argc; i++) free(argv[i]); | 882 for (int i = 0; i < argc; i++) free(argv[i]); |
| 881 } | 883 } |
| 882 | 884 |
| 883 return Process::GlobalExitCode(); | 885 return Process::GlobalExitCode(); |
| 884 } | 886 } |
| 885 | 887 |
| 886 } // namespace bin | 888 } // namespace bin |
| 887 } // namespace dart | 889 } // namespace dart |
| 888 | 890 |
| 889 int main(int argc, char** argv) { | 891 int main(int argc, char** argv) { |
| 890 return dart::bin::main(argc, argv); | 892 return dart::bin::main(argc, argv); |
| 891 } | 893 } |
| OLD | NEW |