Compile time class initialization for classes without <clinit>

Change-Id: I4f167253fbfa16ed8f51928c5891e7a48b68e526
diff --git a/src/object.cc b/src/object.cc
index 24fe628..ea8a4bf 100644
--- a/src/object.cc
+++ b/src/object.cc
@@ -502,6 +502,7 @@
   if (have_executable_code && stub != NULL) {
     LOG(INFO) << "invoking " << PrettyMethod(this) << " code=" << (void*) GetCode() << " stub=" << (void*) stub;
     (*stub)(this, receiver, self, args, result);
+    LOG(INFO) << "returning " << PrettyMethod(this) << " code=" << (void*) GetCode() << " stub=" << (void*) stub;
   } else {
     LOG(WARNING) << "Not invoking method with no associated code: " << PrettyMethod(this);
     if (result != NULL) {
@@ -534,7 +535,7 @@
 
 void Class::SetStatus(Status new_status) {
   CHECK(new_status > GetStatus() || new_status == kStatusError ||
-      !Runtime::Current()->IsStarted());
+      !Runtime::Current()->IsStarted()) << GetDescriptor()->ToModifiedUtf8();
   CHECK(sizeof(Status) == sizeof(uint32_t));
   return SetField32(OFFSET_OF_OBJECT_MEMBER(Class, status_),
                     new_status, false);
@@ -799,6 +800,7 @@
 
 Method* Class::FindVirtualMethodForInterface(Method* method) {
   Class* declaring_class = method->GetDeclaringClass();
+  DCHECK(declaring_class != NULL);
   DCHECK(declaring_class->IsInterface());
   // TODO cache to improve lookup speed
   int32_t iftable_count = GetIfTableCount();