Add InitializedStaticStorage table
A non-null entry in the table not only provides access to the storage,
it also implies that the referenced type is initialized.
Change-Id: Ief9e88b7e58b65b6f9456a4218b7fe87f71c17bb
diff --git a/src/object.cc b/src/object.cc
index 7328dbe..f938bc2 100644
--- a/src/object.cc
+++ b/src/object.cc
@@ -31,7 +31,8 @@
}
Array* Array::AllocFromCode(uint32_t type_idx, Method* method, int32_t component_count) {
- Class* klass = method->dex_cache_types_->Get(type_idx);
+ // TODO: throw on negative component_count
+ Class* klass = method->dex_cache_resolved_types_->Get(type_idx);
if (klass == NULL) {
klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method);
if (klass == NULL || !klass->IsArrayClass()) {
@@ -43,7 +44,7 @@
}
Object* Class::NewInstanceFromCode(uint32_t type_idx, Method* method) {
- Class* klass = method->dex_cache_types_->Get(type_idx);
+ Class* klass = method->dex_cache_resolved_types_->Get(type_idx);
if (klass == NULL) {
klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method);
if (klass == NULL) {