Chromium Code Reviews| 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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 126 // Exit code indicating an unhandled error that is not a compilation error. | 126 // Exit code indicating an unhandled error that is not a compilation error. |
| 127 static const int kErrorExitCode = 255; | 127 static const int kErrorExitCode = 255; |
| 128 // Exit code indicating a vm restart request. Never returned to the user. | 128 // Exit code indicating a vm restart request. Never returned to the user. |
| 129 static const int kRestartRequestExitCode = 1000; | 129 static const int kRestartRequestExitCode = 1000; |
| 130 | 130 |
| 131 static void ErrorExit(int exit_code, const char* format, ...) { | 131 static void ErrorExit(int exit_code, const char* format, ...) { |
| 132 va_list arguments; | 132 va_list arguments; |
| 133 va_start(arguments, format); | 133 va_start(arguments, format); |
| 134 Log::VPrintErr(format, arguments); | 134 Log::VPrintErr(format, arguments); |
| 135 va_end(arguments); | 135 va_end(arguments); |
| 136 fflush(stderr); | |
| 137 | 136 |
|
siva
2016/11/22 05:23:53
Why did you remove this fflush(stderr); ?
rmacnak
2016/11/22 17:58:45
VPrintErr already does a flush
| |
| 138 Dart_ExitScope(); | 137 Dart_ExitScope(); |
| 139 Dart_ShutdownIsolate(); | 138 Dart_ShutdownIsolate(); |
| 140 | 139 |
| 141 // Terminate process exit-code handler. | 140 // Terminate process exit-code handler. |
| 142 Process::TerminateExitCodeHandler(); | 141 Process::TerminateExitCodeHandler(); |
| 143 | 142 |
| 144 char* error = Dart_Cleanup(); | 143 char* error = Dart_Cleanup(); |
| 145 if (error != NULL) { | 144 if (error != NULL) { |
| 146 Log::PrintErr("VM cleanup failed: %s\n", error); | 145 Log::PrintErr("VM cleanup failed: %s\n", error); |
| 147 free(error); | 146 free(error); |
| (...skipping 1434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1582 // lookup the main entry point exported from the root library. | 1581 // lookup the main entry point exported from the root library. |
| 1583 IsolateData* isolate_data = | 1582 IsolateData* isolate_data = |
| 1584 reinterpret_cast<IsolateData*>(Dart_IsolateData(isolate)); | 1583 reinterpret_cast<IsolateData*>(Dart_IsolateData(isolate)); |
| 1585 result = Dart_LibraryImportLibrary(isolate_data->builtin_lib(), root_lib, | 1584 result = Dart_LibraryImportLibrary(isolate_data->builtin_lib(), root_lib, |
| 1586 Dart_Null()); | 1585 Dart_Null()); |
| 1587 if (is_noopt || (gen_snapshot_kind == kAppAOT) || | 1586 if (is_noopt || (gen_snapshot_kind == kAppAOT) || |
| 1588 (gen_snapshot_kind == kAppJIT)) { | 1587 (gen_snapshot_kind == kAppJIT)) { |
| 1589 // Load the embedder's portion of the VM service's Dart code so it will | 1588 // Load the embedder's portion of the VM service's Dart code so it will |
| 1590 // be included in the app snapshot. | 1589 // be included in the app snapshot. |
| 1591 if (!VmService::LoadForGenPrecompiled()) { | 1590 if (!VmService::LoadForGenPrecompiled()) { |
| 1592 fprintf(stderr, "VM service loading failed: %s\n", | 1591 Log::PrintErr("VM service loading failed: %s\n", |
| 1593 VmService::GetErrorMessage()); | 1592 VmService::GetErrorMessage()); |
| 1594 fflush(stderr); | |
| 1595 exit(kErrorExitCode); | 1593 exit(kErrorExitCode); |
| 1596 } | 1594 } |
| 1597 } | 1595 } |
| 1598 | 1596 |
| 1599 if (compile_all) { | 1597 if (compile_all) { |
| 1600 result = Dart_CompileAll(); | 1598 result = Dart_CompileAll(); |
| 1601 CHECK_RESULT(result); | 1599 CHECK_RESULT(result); |
| 1602 } | 1600 } |
| 1603 | 1601 |
| 1604 if (parse_all) { | 1602 if (parse_all) { |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1832 Platform::Exit(kErrorExitCode); | 1830 Platform::Exit(kErrorExitCode); |
| 1833 } | 1831 } |
| 1834 } | 1832 } |
| 1835 | 1833 |
| 1836 Thread::InitOnce(); | 1834 Thread::InitOnce(); |
| 1837 | 1835 |
| 1838 Loader::InitOnce(); | 1836 Loader::InitOnce(); |
| 1839 | 1837 |
| 1840 if (!DartUtils::SetOriginalWorkingDirectory()) { | 1838 if (!DartUtils::SetOriginalWorkingDirectory()) { |
| 1841 OSError err; | 1839 OSError err; |
| 1842 fprintf(stderr, "Error determining current directory: %s\n", err.message()); | 1840 Log::PrintErr("Error determining current directory: %s\n", err.message()); |
| 1843 fflush(stderr); | |
| 1844 Platform::Exit(kErrorExitCode); | 1841 Platform::Exit(kErrorExitCode); |
| 1845 } | 1842 } |
| 1846 | 1843 |
| 1847 const uint8_t* instructions_snapshot = NULL; | 1844 const uint8_t* instructions_snapshot = NULL; |
| 1848 const uint8_t* data_snapshot = NULL; | 1845 const uint8_t* data_snapshot = NULL; |
| 1849 | 1846 |
| 1850 if (ReadAppSnapshot(script_name, &vm_isolate_snapshot_buffer, | 1847 if (ReadAppSnapshot(script_name, &vm_isolate_snapshot_buffer, |
| 1851 &isolate_snapshot_buffer, &instructions_snapshot, | 1848 &isolate_snapshot_buffer, &instructions_snapshot, |
| 1852 &data_snapshot)) { | 1849 &data_snapshot)) { |
| 1853 run_app_snapshot = true; | 1850 run_app_snapshot = true; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1894 init_params.file_open = DartUtils::OpenFile; | 1891 init_params.file_open = DartUtils::OpenFile; |
| 1895 init_params.file_read = DartUtils::ReadFile; | 1892 init_params.file_read = DartUtils::ReadFile; |
| 1896 init_params.file_write = DartUtils::WriteFile; | 1893 init_params.file_write = DartUtils::WriteFile; |
| 1897 init_params.file_close = DartUtils::CloseFile; | 1894 init_params.file_close = DartUtils::CloseFile; |
| 1898 init_params.entropy_source = DartUtils::EntropySource; | 1895 init_params.entropy_source = DartUtils::EntropySource; |
| 1899 init_params.get_service_assets = GetVMServiceAssetsArchiveCallback; | 1896 init_params.get_service_assets = GetVMServiceAssetsArchiveCallback; |
| 1900 | 1897 |
| 1901 char* error = Dart_Initialize(&init_params); | 1898 char* error = Dart_Initialize(&init_params); |
| 1902 if (error != NULL) { | 1899 if (error != NULL) { |
| 1903 EventHandler::Stop(); | 1900 EventHandler::Stop(); |
| 1904 fprintf(stderr, "VM initialization failed: %s\n", error); | 1901 Log::PrintErr("VM initialization failed: %s\n", error); |
| 1905 fflush(stderr); | |
| 1906 free(error); | 1902 free(error); |
| 1907 Platform::Exit(kErrorExitCode); | 1903 Platform::Exit(kErrorExitCode); |
| 1908 } | 1904 } |
| 1909 | 1905 |
| 1910 Dart_RegisterIsolateServiceRequestCallback("getIO", &ServiceGetIOHandler, | 1906 Dart_RegisterIsolateServiceRequestCallback("getIO", &ServiceGetIOHandler, |
| 1911 NULL); | 1907 NULL); |
| 1912 Dart_SetServiceStreamCallbacks(&ServiceStreamListenCallback, | 1908 Dart_SetServiceStreamCallbacks(&ServiceStreamListenCallback, |
| 1913 &ServiceStreamCancelCallback); | 1909 &ServiceStreamCancelCallback); |
| 1914 Dart_SetFileModifiedCallback(&FileModifiedCallback); | 1910 Dart_SetFileModifiedCallback(&FileModifiedCallback); |
| 1915 | 1911 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1948 Platform::Exit(Process::GlobalExitCode()); | 1944 Platform::Exit(Process::GlobalExitCode()); |
| 1949 } | 1945 } |
| 1950 | 1946 |
| 1951 } // namespace bin | 1947 } // namespace bin |
| 1952 } // namespace dart | 1948 } // namespace dart |
| 1953 | 1949 |
| 1954 int main(int argc, char** argv) { | 1950 int main(int argc, char** argv) { |
| 1955 dart::bin::main(argc, argv); | 1951 dart::bin::main(argc, argv); |
| 1956 UNREACHABLE(); | 1952 UNREACHABLE(); |
| 1957 } | 1953 } |
| OLD | NEW |