| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 // Generate a snapshot file after loading all the scripts specified on the | 5 // Generate a snapshot file after loading all the scripts specified on the |
| 6 // command line. | 6 // command line. |
| 7 | 7 |
| 8 #include <stdio.h> | 8 #include <stdio.h> |
| 9 #include <stdlib.h> | 9 #include <stdlib.h> |
| 10 #include <string.h> | 10 #include <string.h> |
| (...skipping 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1141 | 1141 |
| 1142 | 1142 |
| 1143 static Dart_Isolate CreateServiceIsolate(const char* script_uri, | 1143 static Dart_Isolate CreateServiceIsolate(const char* script_uri, |
| 1144 const char* main, | 1144 const char* main, |
| 1145 const char* package_root, | 1145 const char* package_root, |
| 1146 const char* package_config, | 1146 const char* package_config, |
| 1147 Dart_IsolateFlags* flags, | 1147 Dart_IsolateFlags* flags, |
| 1148 void* data, | 1148 void* data, |
| 1149 char** error) { | 1149 char** error) { |
| 1150 IsolateData* isolate_data = | 1150 IsolateData* isolate_data = |
| 1151 new IsolateData(script_uri, package_root, package_config); | 1151 new IsolateData(script_uri, package_root, package_config, NULL); |
| 1152 Dart_Isolate isolate = NULL; | 1152 Dart_Isolate isolate = NULL; |
| 1153 isolate = Dart_CreateIsolate(script_uri, main, NULL, NULL, NULL, isolate_data, | 1153 isolate = Dart_CreateIsolate(script_uri, main, NULL, NULL, NULL, isolate_data, |
| 1154 error); | 1154 error); |
| 1155 | 1155 |
| 1156 if (isolate == NULL) { | 1156 if (isolate == NULL) { |
| 1157 Log::PrintErr("Error: Could not create service isolate"); | 1157 Log::PrintErr("Error: Could not create service isolate"); |
| 1158 return NULL; | 1158 return NULL; |
| 1159 } | 1159 } |
| 1160 | 1160 |
| 1161 Dart_EnterScope(); | 1161 Dart_EnterScope(); |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1245 init_params.entropy_source = DartUtils::EntropySource; | 1245 init_params.entropy_source = DartUtils::EntropySource; |
| 1246 | 1246 |
| 1247 char* error = Dart_Initialize(&init_params); | 1247 char* error = Dart_Initialize(&init_params); |
| 1248 if (error != NULL) { | 1248 if (error != NULL) { |
| 1249 Log::PrintErr("VM initialization failed: %s\n", error); | 1249 Log::PrintErr("VM initialization failed: %s\n", error); |
| 1250 free(error); | 1250 free(error); |
| 1251 return kErrorExitCode; | 1251 return kErrorExitCode; |
| 1252 } | 1252 } |
| 1253 | 1253 |
| 1254 IsolateData* isolate_data = new IsolateData(NULL, commandline_package_root, | 1254 IsolateData* isolate_data = new IsolateData(NULL, commandline_package_root, |
| 1255 commandline_packages_file); | 1255 commandline_packages_file, NULL); |
| 1256 Dart_Isolate isolate = | 1256 Dart_Isolate isolate = |
| 1257 Dart_CreateIsolate(NULL, NULL, NULL, NULL, NULL, isolate_data, &error); | 1257 Dart_CreateIsolate(NULL, NULL, NULL, NULL, NULL, isolate_data, &error); |
| 1258 if (isolate == NULL) { | 1258 if (isolate == NULL) { |
| 1259 Log::PrintErr("Error: %s", error); | 1259 Log::PrintErr("Error: %s", error); |
| 1260 free(error); | 1260 free(error); |
| 1261 exit(kErrorExitCode); | 1261 exit(kErrorExitCode); |
| 1262 } | 1262 } |
| 1263 | 1263 |
| 1264 Dart_Handle result; | 1264 Dart_Handle result; |
| 1265 Dart_Handle library; | 1265 Dart_Handle library; |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1293 result = DartUtils::SetupPackageRoot(commandline_package_root, | 1293 result = DartUtils::SetupPackageRoot(commandline_package_root, |
| 1294 commandline_packages_file); | 1294 commandline_packages_file); |
| 1295 CHECK_RESULT(result); | 1295 CHECK_RESULT(result); |
| 1296 | 1296 |
| 1297 UriResolverIsolateScope::isolate = isolate; | 1297 UriResolverIsolateScope::isolate = isolate; |
| 1298 Dart_ExitScope(); | 1298 Dart_ExitScope(); |
| 1299 Dart_ExitIsolate(); | 1299 Dart_ExitIsolate(); |
| 1300 | 1300 |
| 1301 // Now we create an isolate into which we load all the code that needs to | 1301 // Now we create an isolate into which we load all the code that needs to |
| 1302 // be in the snapshot. | 1302 // be in the snapshot. |
| 1303 isolate_data = new IsolateData(NULL, NULL, NULL); | 1303 isolate_data = new IsolateData(NULL, NULL, NULL, NULL); |
| 1304 const uint8_t* kernel = NULL; | 1304 const uint8_t* kernel = NULL; |
| 1305 intptr_t kernel_length = 0; | 1305 intptr_t kernel_length = 0; |
| 1306 const bool is_kernel_file = | 1306 const bool is_kernel_file = |
| 1307 TryReadKernel(app_script_name, &kernel, &kernel_length); | 1307 TryReadKernel(app_script_name, &kernel, &kernel_length); |
| 1308 | 1308 |
| 1309 void* kernel_program = NULL; | 1309 void* kernel_program = NULL; |
| 1310 if (is_kernel_file) { | 1310 if (is_kernel_file) { |
| 1311 kernel_program = Dart_ReadKernelBinary(kernel, kernel_length); | 1311 kernel_program = Dart_ReadKernelBinary(kernel, kernel_length); |
| 1312 free(const_cast<uint8_t*>(kernel)); | 1312 free(const_cast<uint8_t*>(kernel)); |
| 1313 } | 1313 } |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1383 EventHandler::Stop(); | 1383 EventHandler::Stop(); |
| 1384 return 0; | 1384 return 0; |
| 1385 } | 1385 } |
| 1386 | 1386 |
| 1387 } // namespace bin | 1387 } // namespace bin |
| 1388 } // namespace dart | 1388 } // namespace dart |
| 1389 | 1389 |
| 1390 int main(int argc, char** argv) { | 1390 int main(int argc, char** argv) { |
| 1391 return dart::bin::main(argc, argv); | 1391 return dart::bin::main(argc, argv); |
| 1392 } | 1392 } |
| OLD | NEW |