Fix GC performance regression

Enable CMS and fix performance regression due to recursive marking image spaces. Dependent on my java change list.

Change-Id: I4765792aa8226e811ac158f04ab88217db755573
diff --git a/src/runtime.h b/src/runtime.h
index 55dab07..d80f1c9 100644
--- a/src/runtime.h
+++ b/src/runtime.h
@@ -116,6 +116,10 @@
     return started_;
   }
 
+  bool IsFinishedStarting() const {
+    return finished_starting_;
+  }
+
   static Runtime* Current() {
     return instance_;
   }
@@ -371,6 +375,11 @@
   bool shutting_down_;
   bool started_;
 
+  // New flag added which tells us if the runtime has finished starting. If
+  // this flag is set then the Daemon threads are created and the class loader
+  // is created. This flag is needed for knowing if its safe to request CMS.
+  bool finished_starting_;
+
   // Hooks supported by JNI_CreateJavaVM
   jint (*vfprintf_)(FILE* stream, const char* format, va_list ap);
   void (*exit_)(jint status);