Reduce meta-data object sizes, introduce meta-data helper classes.

Change-Id: Id14ad218f1c74c659701352fdf1a45bf6444daa3
diff --git a/src/compiler.h b/src/compiler.h
index 5203ffb..4e1be1d 100644
--- a/src/compiler.h
+++ b/src/compiler.h
@@ -70,16 +70,7 @@
   const CompiledInvokeStub* FindInvokeStub(bool is_static, const char* shorty) const;
 
   // Callbacks from OAT/ART compiler to see what runtime checks must be generated
-  bool CanAssumeTypeIsPresentInDexCache(const DexCache* dex_cache, uint32_t type_idx) const {
-    if (!IsImage()) {
-      return false;
-    }
-    Class* resolved_class = dex_cache->GetResolvedTypes()->Get(type_idx);
-    if (resolved_class == NULL) {
-      return false;
-    }
-    return IsImageClass(resolved_class->GetDescriptor()->ToModifiedUtf8());
-  }
+  bool CanAssumeTypeIsPresentInDexCache(const DexCache* dex_cache, uint32_t type_idx) const;
   bool CanAssumeStringIsPresentInDexCache(const DexCache* dex_cache, uint32_t string_idx) const {
     // TODO: Add support for loading strings referenced by image_classes_
     // See also Compiler::ResolveDexFile