Add -verbose:startup
Change-Id: I1ef70c2a9e559893541bbbf381b6893808602555
diff --git a/src/runtime.cc b/src/runtime.cc
index eb5e498..a6977b2 100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -24,7 +24,8 @@
Runtime* Runtime::instance_ = NULL;
Runtime::Runtime()
- : default_stack_size_(Thread::kDefaultStackSize),
+ : verbose_startup_(false),
+ default_stack_size_(Thread::kDefaultStackSize),
thread_list_(NULL),
intern_table_(NULL),
class_linker_(NULL),
@@ -359,6 +360,9 @@
}
void Runtime::Start() {
+ if (IsVerboseStartup()) {
+ LOG(INFO) << "Runtime::Start entering";
+ }
InitNativeMethods();
Thread::FinishStartup();
@@ -371,6 +375,10 @@
started_ = true;
StartDaemonThreads();
+
+ if (IsVerboseStartup()) {
+ LOG(INFO) << "Runtime::Start exiting";
+ }
}
void Runtime::StartDaemonThreads() {
@@ -397,6 +405,10 @@
LOG(WARNING) << "Failed to parse options";
return false;
}
+ verbose_startup_ = options->IsVerbose("startup");
+ if (IsVerboseStartup()) {
+ LOG(INFO) << "Runtime::Init -verbose:startup enabled";
+ }
boot_class_path_ = options->boot_class_path_string_;
class_path_ = options->class_path_string_;
@@ -429,10 +441,16 @@
intern_table_,
Heap::GetBootSpace());
+ if (IsVerboseStartup()) {
+ LOG(INFO) << "Runtime::Init exiting";
+ }
return true;
}
void Runtime::InitNativeMethods() {
+ if (IsVerboseStartup()) {
+ LOG(INFO) << "Runtime::InitNativeMethods entering";
+ }
Thread* self = Thread::Current();
JNIEnv* env = self->GetJniEnv();
@@ -450,6 +468,9 @@
// Most JNI libraries can just use System.loadLibrary, but libcore can't because it's
// the library that implements System.loadLibrary!
LoadJniLibrary(instance_->GetJavaVM(), "javacore");
+ if (IsVerboseStartup()) {
+ LOG(INFO) << "Runtime::InitNativeMethods exiting";
+ }
}
void Runtime::RegisterRuntimeNativeMethods(JNIEnv* env) {