Implement stub for initialize static storage base.
Also fix a race in thread list.
Change-Id: Ice35c2fa14e7a9a0585e89d558815ab99bbdd6b9
diff --git a/src/class_linker.cc b/src/class_linker.cc
index a9c2005..be1de23 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1491,7 +1491,8 @@
ClassLinker* class_linker = Runtime::Current()->GetClassLinker();
Class* klass = class_linker->ResolveType(type_idx, referrer);
if (klass == NULL) {
- UNIMPLEMENTED(FATAL) << "throw exception due to unresolved class";
+ CHECK(Thread::Current()->IsExceptionPending());
+ return NULL; // Failure - Indicate to caller to deliver exception
}
// If we are the <clinit> of this class, just return our storage.
//
@@ -1502,7 +1503,7 @@
}
if (!class_linker->EnsureInitialized(klass, true)) {
CHECK(Thread::Current()->IsExceptionPending());
- UNIMPLEMENTED(FATAL) << "throw class initialization error " << PrettyClass(klass);
+ return NULL; // Failure - Indicate to caller to deliver exception
}
referrer->GetDexCacheInitializedStaticStorage()->Set(type_idx, klass);
return klass;