Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Side by Side Diff: runtime/bin/main.cc

Issue 1362743003: Add simple VM test for precompiled code. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: ia32 marked as fail instead of skip Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/bin/extensions_linux.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 89
90 90
91 // Global flag that is used to indicate that we want to trace resolution of 91 // Global flag that is used to indicate that we want to trace resolution of
92 // URIs and the loading of libraries, parts and scripts. 92 // URIs and the loading of libraries, parts and scripts.
93 static bool has_trace_loading = false; 93 static bool has_trace_loading = false;
94 94
95 95
96 static const char* DEFAULT_VM_SERVICE_SERVER_IP = "127.0.0.1"; 96 static const char* DEFAULT_VM_SERVICE_SERVER_IP = "127.0.0.1";
97 static const int DEFAULT_VM_SERVICE_SERVER_PORT = 8181; 97 static const int DEFAULT_VM_SERVICE_SERVER_PORT = 8181;
98 // VM Service options. 98 // VM Service options.
99 static bool start_vm_service = false;
100 static const char* vm_service_server_ip = DEFAULT_VM_SERVICE_SERVER_IP; 99 static const char* vm_service_server_ip = DEFAULT_VM_SERVICE_SERVER_IP;
101 // The 0 port is a magic value which results in the first available port 100 // The 0 port is a magic value which results in the first available port
102 // being allocated. 101 // being allocated.
103 static int vm_service_server_port = -1; 102 static int vm_service_server_port = -1;
104 103
105 104
106 // Exit code indicating an API error. 105 // Exit code indicating an API error.
107 static const int kApiErrorExitCode = 253; 106 static const int kApiErrorExitCode = 253;
108 // Exit code indicating a compilation error. 107 // Exit code indicating a compilation error.
109 static const int kCompilationErrorExitCode = 254; 108 static const int kCompilationErrorExitCode = 254;
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 if (!ExtractPortAndIP(option_value, 384 if (!ExtractPortAndIP(option_value,
386 &vm_service_server_port, 385 &vm_service_server_port,
387 &vm_service_server_ip, 386 &vm_service_server_ip,
388 DEFAULT_VM_SERVICE_SERVER_PORT, 387 DEFAULT_VM_SERVICE_SERVER_PORT,
389 DEFAULT_VM_SERVICE_SERVER_IP)) { 388 DEFAULT_VM_SERVICE_SERVER_IP)) {
390 Log::PrintErr("unrecognized --enable-vm-service option syntax. " 389 Log::PrintErr("unrecognized --enable-vm-service option syntax. "
391 "Use --enable-vm-service[:<port number>[/<IPv4 address>]]\n"); 390 "Use --enable-vm-service[:<port number>[/<IPv4 address>]]\n");
392 return false; 391 return false;
393 } 392 }
394 393
395 start_vm_service = true;
396 return true; 394 return true;
397 } 395 }
398 396
399 397
400 static bool ProcessObserveOption(const char* option_value, 398 static bool ProcessObserveOption(const char* option_value,
401 CommandLineOptions* vm_options) { 399 CommandLineOptions* vm_options) {
402 ASSERT(option_value != NULL); 400 ASSERT(option_value != NULL);
403 401
404 if (!ExtractPortAndIP(option_value, 402 if (!ExtractPortAndIP(option_value,
405 &vm_service_server_port, 403 &vm_service_server_port,
406 &vm_service_server_ip, 404 &vm_service_server_ip,
407 DEFAULT_VM_SERVICE_SERVER_PORT, 405 DEFAULT_VM_SERVICE_SERVER_PORT,
408 DEFAULT_VM_SERVICE_SERVER_IP)) { 406 DEFAULT_VM_SERVICE_SERVER_IP)) {
409 Log::PrintErr("unrecognized --observe option syntax. " 407 Log::PrintErr("unrecognized --observe option syntax. "
410 "Use --observe[:<port number>[/<IPv4 address>]]\n"); 408 "Use --observe[:<port number>[/<IPv4 address>]]\n");
411 return false; 409 return false;
412 } 410 }
413 411
414 start_vm_service = true;
415
416 vm_options->AddArgument("--pause-isolates-on-exit"); 412 vm_options->AddArgument("--pause-isolates-on-exit");
417 return true; 413 return true;
418 } 414 }
419 415
420 416
421 extern bool trace_debug_protocol; 417 extern bool trace_debug_protocol;
422 static bool ProcessTraceDebugProtocolOption(const char* arg, 418 static bool ProcessTraceDebugProtocolOption(const char* arg,
423 CommandLineOptions* vm_options) { 419 CommandLineOptions* vm_options) {
424 if (*arg != '\0') { 420 if (*arg != '\0') {
425 return false; 421 return false;
(...skipping 636 matching lines...) Expand 10 before | Expand all | Expand 10 after
1062 ErrorExit(kErrorExitCode, 1058 ErrorExit(kErrorExitCode,
1063 "Error: Unable to read snapshot file %s\n", filename); 1059 "Error: Unable to read snapshot file %s\n", filename);
1064 } 1060 }
1065 DartUtils::CloseFile(file); 1061 DartUtils::CloseFile(file);
1066 } 1062 }
1067 1063
1068 1064
1069 static void* LoadLibrarySymbol(const char* libname, const char* symname) { 1065 static void* LoadLibrarySymbol(const char* libname, const char* symname) {
1070 void* library = Extensions::LoadExtensionLibrary(libname); 1066 void* library = Extensions::LoadExtensionLibrary(libname);
1071 if (library == NULL) { 1067 if (library == NULL) {
1072 ErrorExit(kErrorExitCode, 1068 Log::PrintErr("Error: Failed to load library '%s'\n", libname);
1073 "Error: Failed to load library '%s'\n", libname); 1069 exit(kErrorExitCode);
1074 } 1070 }
1075 void* symbol = Extensions::ResolveSymbol(library, symname); 1071 void* symbol = Extensions::ResolveSymbol(library, symname);
1076 if (symbol == NULL) { 1072 if (symbol == NULL) {
1077 ErrorExit(kErrorExitCode, 1073 Log::PrintErr("Error: Failed to load symbol '%s'\n", symname);
1078 "Error: Failed to load symbol '%s'\n", symname); 1074 exit(kErrorExitCode);
1079 } 1075 }
1080 return symbol; 1076 return symbol;
1081 } 1077 }
1082 1078
1083 1079
1084 void main(int argc, char** argv) { 1080 void main(int argc, char** argv) {
1085 char* script_name; 1081 char* script_name;
1086 const int EXTRA_VM_ARGUMENTS = 2; 1082 const int EXTRA_VM_ARGUMENTS = 2;
1087 CommandLineOptions vm_options(argc + EXTRA_VM_ARGUMENTS); 1083 CommandLineOptions vm_options(argc + EXTRA_VM_ARGUMENTS);
1088 CommandLineOptions dart_options(argc); 1084 CommandLineOptions dart_options(argc);
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
1370 exit(Process::GlobalExitCode()); 1366 exit(Process::GlobalExitCode());
1371 } 1367 }
1372 1368
1373 } // namespace bin 1369 } // namespace bin
1374 } // namespace dart 1370 } // namespace dart
1375 1371
1376 int main(int argc, char** argv) { 1372 int main(int argc, char** argv) {
1377 dart::bin::main(argc, argv); 1373 dart::bin::main(argc, argv);
1378 UNREACHABLE(); 1374 UNREACHABLE();
1379 } 1375 }
OLDNEW
« no previous file with comments | « runtime/bin/extensions_linux.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698