Add -verbose:startup

Change-Id: I1ef70c2a9e559893541bbbf381b6893808602555
diff --git a/src/class_linker.cc b/src/class_linker.cc
index becd6d5..2aa9d7d 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -160,6 +160,11 @@
 
 void ClassLinker::Init(const std::vector<const DexFile*>& boot_class_path,
                        const std::vector<const DexFile*>& class_path) {
+  const Runtime* runtime = Runtime::Current();
+  if (runtime->IsVerboseStartup()) {
+    LOG(INFO) << "ClassLinker::InitFrom entering";
+  }
+
   CHECK(!init_done_);
 
   // java_lang_Class comes first, its needed for AllocClass
@@ -399,9 +404,17 @@
   StackTraceElement::SetClass(GetClassRoot(kJavaLangStackTraceElement));
 
   FinishInit();
+
+  if (runtime->IsVerboseStartup()) {
+    LOG(INFO) << "ClassLinker::InitFrom exiting";
+  }
 }
 
 void ClassLinker::FinishInit() {
+  const Runtime* runtime = Runtime::Current();
+  if (runtime->IsVerboseStartup()) {
+    LOG(INFO) << "ClassLinker::FinishInit entering";
+  }
 
   // Let the heap know some key offsets into java.lang.ref instances
   // NB we hard code the field indexes here rather than using FindInstanceField
@@ -450,6 +463,10 @@
   // disable the slow paths in FindClass and CreatePrimitiveClass now
   // that Object, Class, and Object[] are setup
   init_done_ = true;
+
+  if (runtime->IsVerboseStartup()) {
+    LOG(INFO) << "ClassLinker::FinishInit exiting";
+  }
 }
 
 void ClassLinker::RunRootClinits() {
@@ -477,6 +494,10 @@
 
 void ClassLinker::InitFromImage(const std::vector<const DexFile*>& boot_class_path,
                                 const std::vector<const DexFile*>& class_path) {
+  const Runtime* runtime = Runtime::Current();
+  if (runtime->IsVerboseStartup()) {
+    LOG(INFO) << "ClassLinker::InitFromImage entering";
+  }
   CHECK(!init_done_);
 
   HeapBitmap* heap_bitmap = Heap::GetLiveBits();
@@ -548,6 +569,10 @@
   StackTraceElement::SetClass(GetClassRoot(kJavaLangStackTraceElement));
 
   FinishInit();
+
+  if (runtime->IsVerboseStartup()) {
+    LOG(INFO) << "ClassLinker::InitFromImage exiting";
+  }
 }
 
 void ClassLinker::InitFromImageCallback(Object* obj, void* arg) {