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

Unified Diff: runtime/bin/main.cc

Issue 1138083003: - Add --trace-loading to trace resolution and loading. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/bin/gen_snapshot.cc ('k') | runtime/bin/vmservice_dartium.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/bin/main.cc
===================================================================
--- runtime/bin/main.cc (revision 45696)
+++ runtime/bin/main.cc (working copy)
@@ -65,9 +65,9 @@
// dart functions and not run anything.
static bool has_compile_all = false;
-// Global flag that is used to indicate that we want to print the source code
-// for script that is being run.
-static bool has_print_script = false;
+// Global flag that is used to indicate that we want to trace resolution of
+// URIs and the loading of libraries, parts and scripts.
+static bool has_trace_loading = false;
static const char* DEFAULT_VM_SERVICE_SERVER_IP = "127.0.0.1";
@@ -282,17 +282,6 @@
}
-static bool ProcessPrintScriptOption(const char* arg,
- CommandLineOptions* vm_options) {
- ASSERT(arg != NULL);
- if (*arg != '\0') {
- return false;
- }
- has_print_script = true;
- return true;
-}
-
-
static bool ProcessGenScriptSnapshotOption(const char* filename,
CommandLineOptions* vm_options) {
if (filename != NULL && strlen(filename) != 0) {
@@ -361,6 +350,16 @@
}
+static bool ProcessTraceLoadingOption(const char* arg,
+ CommandLineOptions* vm_options) {
+ if (*arg != '\0') {
+ return false;
+ }
+ has_trace_loading = true;
+ return true;
+}
+
+
static struct {
const char* option_name;
bool (*process)(const char* option, CommandLineOptions* vm_options);
@@ -378,10 +377,10 @@
{ "--compile_all", ProcessCompileAllOption },
{ "--debug", ProcessDebugOption },
{ "--snapshot=", ProcessGenScriptSnapshotOption },
- { "--print-script", ProcessPrintScriptOption },
{ "--enable-vm-service", ProcessEnableVmServiceOption },
{ "--observe", ProcessObserveOption },
{ "--trace-debug-protocol", ProcessTraceDebugProtocolOption },
+ { "--trace-loading", ProcessTraceLoadingOption},
{ NULL, NULL }
};
@@ -634,7 +633,10 @@
// Prepare for script loading by setting up the 'print' and 'timer'
// closures and setting up 'package root' for URI resolution.
- result = DartUtils::PrepareForScriptLoading(package_root, false, builtin_lib);
+ result = DartUtils::PrepareForScriptLoading(package_root,
+ false,
+ has_trace_loading,
+ builtin_lib);
CHECK_RESULT(result);
result = Dart_SetEnvironmentCallback(EnvironmentCallback);
@@ -816,40 +818,6 @@
}
-static Dart_Handle GenerateScriptSource() {
- Dart_Handle library_url = Dart_LibraryUrl(Dart_RootLibrary());
- if (Dart_IsError(library_url)) {
- return library_url;
- }
- Dart_Handle script_urls = Dart_GetScriptURLs(library_url);
- if (Dart_IsError(script_urls)) {
- return script_urls;
- }
- intptr_t length;
- Dart_Handle result = Dart_ListLength(script_urls, &length);
- if (Dart_IsError(result)) {
- return result;
- }
- for (intptr_t i = 0; i < length; i++) {
- Dart_Handle script_url = Dart_ListGetAt(script_urls, i);
- if (Dart_IsError(script_url)) {
- return script_url;
- }
- result = Dart_GenerateScriptSource(library_url, script_url);
- if (Dart_IsError(result)) {
- return result;
- }
- const char* script_source = NULL;
- result = Dart_StringToCString(result, &script_source);
- if (Dart_IsError(result)) {
- return result;
- }
- Log::Print("%s\n", script_source);
- }
- return Dart_True();
-}
-
-
static const char* ServiceRequestError(Dart_Handle error) {
TextBuffer buffer(128);
buffer.Printf("{\"type\":\"Error\",\"text\":\"Internal error %s\"}",
@@ -1053,47 +1021,43 @@
"Unable to find root library for '%s'\n",
script_name);
}
- if (has_print_script) {
- result = GenerateScriptSource();
- DartExitOnError(result);
- } else {
- // The helper function _getMainClosure creates a closure for the main
- // entry point which is either explicitly or implictly exported from the
- // root library.
- Dart_Handle main_closure = Dart_Invoke(
- builtin_lib, Dart_NewStringFromCString("_getMainClosure"), 0, NULL);
- DartExitOnError(main_closure);
- // Set debug breakpoint if specified on the command line before calling
- // the main function.
- if (breakpoint_at != NULL) {
- result = SetBreakpoint(breakpoint_at, root_lib);
- if (Dart_IsError(result)) {
- ErrorExit(kErrorExitCode,
- "Error setting breakpoint at '%s': %s\n",
- breakpoint_at,
- Dart_GetError(result));
- }
+ // The helper function _getMainClosure creates a closure for the main
+ // entry point which is either explicitly or implictly exported from the
+ // root library.
+ Dart_Handle main_closure = Dart_Invoke(
+ builtin_lib, Dart_NewStringFromCString("_getMainClosure"), 0, NULL);
+ DartExitOnError(main_closure);
+
+ // Set debug breakpoint if specified on the command line before calling
+ // the main function.
+ if (breakpoint_at != NULL) {
+ result = SetBreakpoint(breakpoint_at, root_lib);
+ if (Dart_IsError(result)) {
+ ErrorExit(kErrorExitCode,
+ "Error setting breakpoint at '%s': %s\n",
+ breakpoint_at,
+ Dart_GetError(result));
}
+ }
- // Call _startIsolate in the isolate library to enable dispatching the
- // initial startup message.
- const intptr_t kNumIsolateArgs = 2;
- Dart_Handle isolate_args[kNumIsolateArgs];
- isolate_args[0] = main_closure; // entryPoint
- isolate_args[1] = CreateRuntimeOptions(&dart_options); // args
+ // Call _startIsolate in the isolate library to enable dispatching the
+ // initial startup message.
+ const intptr_t kNumIsolateArgs = 2;
+ Dart_Handle isolate_args[kNumIsolateArgs];
+ isolate_args[0] = main_closure; // entryPoint
+ isolate_args[1] = CreateRuntimeOptions(&dart_options); // args
- Dart_Handle isolate_lib = Dart_LookupLibrary(
- Dart_NewStringFromCString("dart:isolate"));
- result = Dart_Invoke(isolate_lib,
- Dart_NewStringFromCString("_startMainIsolate"),
- kNumIsolateArgs, isolate_args);
- DartExitOnError(result);
+ Dart_Handle isolate_lib = Dart_LookupLibrary(
+ Dart_NewStringFromCString("dart:isolate"));
+ result = Dart_Invoke(isolate_lib,
+ Dart_NewStringFromCString("_startMainIsolate"),
+ kNumIsolateArgs, isolate_args);
+ DartExitOnError(result);
- // Keep handling messages until the last active receive port is closed.
- result = Dart_RunLoop();
- DartExitOnError(result);
- }
+ // Keep handling messages until the last active receive port is closed.
+ result = Dart_RunLoop();
+ DartExitOnError(result);
}
Dart_ExitScope();
« no previous file with comments | « runtime/bin/gen_snapshot.cc ('k') | runtime/bin/vmservice_dartium.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698