Reduce meta-data object sizes, introduce meta-data helper classes.
Change-Id: Id14ad218f1c74c659701352fdf1a45bf6444daa3
diff --git a/src/compiler.cc b/src/compiler.cc
index fba767d..e437062 100644
--- a/src/compiler.cc
+++ b/src/compiler.cc
@@ -11,6 +11,7 @@
#include "jni_compiler.h"
#include "jni_internal.h"
#include "oat_file.h"
+#include "object_utils.h"
#include "runtime.h"
#include "stl_util.h"
@@ -145,6 +146,18 @@
return image_classes_->find(descriptor) != image_classes_->end();
}
+bool Compiler::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(ClassHelper(resolved_class).GetDescriptor());
+}
+
// Return true if the class should be skipped during compilation. We
// never skip classes in the boot class loader. However, if we have a
// non-boot class loader and we can resolve the class in the boot