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