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) {