| 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 // 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 <stdlib.h> | 8 #include <stdlib.h> |
| 9 #include <string.h> | 9 #include <string.h> |
| 10 #include <stdio.h> | 10 #include <stdio.h> |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 Dart_Handle lib; | 197 Dart_Handle lib; |
| 198 if (id == Builtin::kBuiltinLibrary) { | 198 if (id == Builtin::kBuiltinLibrary) { |
| 199 // Load the dart:builtin library as the script. | 199 // Load the dart:builtin library as the script. |
| 200 Dart_Handle url = Dart_NewString(DartUtils::kBuiltinLibURL); | 200 Dart_Handle url = Dart_NewString(DartUtils::kBuiltinLibURL); |
| 201 Dart_Handle import_map = Dart_NewList(0); | 201 Dart_Handle import_map = Dart_NewList(0); |
| 202 lib = Dart_LoadScript(url, | 202 lib = Dart_LoadScript(url, |
| 203 source, | 203 source, |
| 204 BuiltinLibraryTagHandler, | 204 BuiltinLibraryTagHandler, |
| 205 import_map); | 205 import_map); |
| 206 } else { | 206 } else { |
| 207 ASSERT(id == Builtin::kIOLibrary); | 207 // Load the builtin library to make it available in the snapshot |
| 208 // Load the dart:io library to make it available in the snapshot | |
| 209 // for importing. | 208 // for importing. |
| 210 lib = Builtin::LoadLibrary(Builtin::kIOLibrary); | 209 lib = Builtin::LoadLibrary(id); |
| 211 } | 210 } |
| 212 if (!Dart_IsError(lib)) { | 211 if (!Dart_IsError(lib)) { |
| 213 Builtin::SetupLibrary(lib, id); | 212 Builtin::SetupLibrary(lib, id); |
| 214 } | 213 } |
| 215 return lib; | 214 return lib; |
| 216 } | 215 } |
| 217 | 216 |
| 218 | 217 |
| 219 static void PrintUsage() { | 218 static void PrintUsage() { |
| 220 fprintf(stderr, | 219 fprintf(stderr, |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 if (app_script_name != NULL) { | 279 if (app_script_name != NULL) { |
| 281 // Load the specified script. | 280 // Load the specified script. |
| 282 library = LoadSnapshotCreationScript(app_script_name); | 281 library = LoadSnapshotCreationScript(app_script_name); |
| 283 VerifyLoaded(library); | 282 VerifyLoaded(library); |
| 284 } else { | 283 } else { |
| 285 // This is a generic dart snapshot which needs builtin library setup. | 284 // This is a generic dart snapshot which needs builtin library setup. |
| 286 library = LoadGenericSnapshotCreationScript(Builtin::kBuiltinLibrary); | 285 library = LoadGenericSnapshotCreationScript(Builtin::kBuiltinLibrary); |
| 287 VerifyLoaded(library); | 286 VerifyLoaded(library); |
| 288 library = LoadGenericSnapshotCreationScript(Builtin::kIOLibrary); | 287 library = LoadGenericSnapshotCreationScript(Builtin::kIOLibrary); |
| 289 VerifyLoaded(library); | 288 VerifyLoaded(library); |
| 289 library = LoadGenericSnapshotCreationScript(Builtin::kJsonLibrary); |
| 290 VerifyLoaded(library); |
| 291 library = LoadGenericSnapshotCreationScript(Builtin::kUriLibrary); |
| 292 VerifyLoaded(library); |
| 293 library = LoadGenericSnapshotCreationScript(Builtin::kUtf8Library); |
| 294 VerifyLoaded(library); |
| 290 } | 295 } |
| 291 | 296 |
| 292 uint8_t* buffer = NULL; | 297 uint8_t* buffer = NULL; |
| 293 intptr_t size = 0; | 298 intptr_t size = 0; |
| 294 // First create the snapshot. | 299 // First create the snapshot. |
| 295 result = Dart_CreateSnapshot(&buffer, &size); | 300 result = Dart_CreateSnapshot(&buffer, &size); |
| 296 if (Dart_IsError(result)) { | 301 if (Dart_IsError(result)) { |
| 297 const char* err_msg = Dart_GetError(result); | 302 const char* err_msg = Dart_GetError(result); |
| 298 fprintf(stderr, "Error while creating snapshot: %s\n", err_msg); | 303 fprintf(stderr, "Error while creating snapshot: %s\n", err_msg); |
| 299 Dart_ExitScope(); | 304 Dart_ExitScope(); |
| 300 Dart_ShutdownIsolate(); | 305 Dart_ShutdownIsolate(); |
| 301 exit(255); | 306 exit(255); |
| 302 } | 307 } |
| 303 // Now write the snapshot out to specified file and exit. | 308 // Now write the snapshot out to specified file and exit. |
| 304 WriteSnapshotFile(buffer, size); | 309 WriteSnapshotFile(buffer, size); |
| 305 Dart_ExitScope(); | 310 Dart_ExitScope(); |
| 306 | 311 |
| 307 // Shutdown the isolate. | 312 // Shutdown the isolate. |
| 308 Dart_ShutdownIsolate(); | 313 Dart_ShutdownIsolate(); |
| 309 return 0; | 314 return 0; |
| 310 } | 315 } |
| OLD | NEW |