Ensure class is linked before resolution
Adds a missing call to ClassLinker::EnsureResolved to ensure we did link the
class and retired the temp class (placeholder) before doing the resolution.
Bug: 17435441
(cherry picked from commit 72da76359aa5599f78ddca79b294e9bf30e004ed)
Change-Id: I3b368567c7b24ec2ff7ee1dec7bcd3501a6061f8
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 637fd02..26b6c60 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -2140,7 +2140,7 @@
if (pair.second != nullptr) {
mirror::Class* klass = LookupClass(descriptor, nullptr);
if (klass != nullptr) {
- return klass;
+ return EnsureResolved(self, descriptor, klass);
}
klass = DefineClass(descriptor, NullHandle<mirror::ClassLoader>(), *pair.first,
*pair.second);