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/dex_cache.cc b/src/dex_cache.cc
index a4538c9..d24c436 100644
--- a/src/dex_cache.cc
+++ b/src/dex_cache.cc
@@ -11,22 +11,25 @@
 
 void DexCache::Init(String* location,
                     ObjectArray<String>* strings,
-                    ObjectArray<Class>* types,
-                    ObjectArray<Method>* methods,
-                    ObjectArray<Field>* fields,
-                    CodeAndDirectMethods* code_and_direct_methods) {
+                    ObjectArray<Class>* resolved_types,
+                    ObjectArray<Method>* resolved_methods,
+                    ObjectArray<Field>* resolved_fields,
+                    CodeAndDirectMethods* code_and_direct_methods,
+                    ObjectArray<StaticStorageBase>* initialized_static_storage) {
   CHECK(location != NULL);
   CHECK(strings != NULL);
-  CHECK(types != NULL);
-  CHECK(methods != NULL);
-  CHECK(fields != NULL);
+  CHECK(resolved_types != NULL);
+  CHECK(resolved_methods != NULL);
+  CHECK(resolved_fields != NULL);
   CHECK(code_and_direct_methods != NULL);
-  Set(kLocation,       location);
-  Set(kStrings,        strings);
-  Set(kTypes,          types);
-  Set(kMethods,        methods);
-  Set(kFields,         fields);
-  Set(kCodeAndDirectMethods, code_and_direct_methods);
+  CHECK(initialized_static_storage != NULL);
+  Set(kLocation,                 location);
+  Set(kStrings,                  strings);
+  Set(kResolvedTypes,            resolved_types);
+  Set(kResolvedMethods,          resolved_methods);
+  Set(kResolvedFields,           resolved_fields);
+  Set(kCodeAndDirectMethods,     code_and_direct_methods);
+  Set(kInitializedStaticStorage, initialized_static_storage);
 }
 
 }  // namespace art