diff options
author | Ian Rogers <irogers@google.com> | 2014-01-07 08:58:46 -0800 |
---|---|---|
committer | Ian Rogers <irogers@google.com> | 2014-01-08 09:15:46 -0800 |
commit | 5ddb4104ac605d66693b55b79f26f8b8a5505e63 (patch) | |
tree | 9231f1e54e9a1aaca640c590d5b4f318720e263b /runtime/class_linker.cc | |
parent | 5a2ced515a456f15dcf194843c024e835eda7dbe (diff) | |
download | art-5ddb4104ac605d66693b55b79f26f8b8a5505e63.zip art-5ddb4104ac605d66693b55b79f26f8b8a5505e63.tar.gz art-5ddb4104ac605d66693b55b79f26f8b8a5505e63.tar.bz2 |
Remove intialized static storage from dex cache.
The initialized static storage array is used by compiled code to determine if
for a sget/sput class initialization is necessary. The compiled code typically
doesn't require this test as the class is pre-initialized or the class being
accessed is the same as the current method.
Change-Id: Icbc45e692b3d0ac61e559e69edb6c9b29439e571
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r-- | runtime/class_linker.cc | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc index fbb47bd..dcc50b7 100644 --- a/runtime/class_linker.cc +++ b/runtime/class_linker.cc @@ -1242,15 +1242,8 @@ mirror::DexCache* ClassLinker::AllocDexCache(Thread* self, const DexFile& dex_fi if (fields.get() == NULL) { return NULL; } - SirtRef<mirror::ObjectArray<mirror::StaticStorageBase> > - initialized_static_storage(self, - AllocObjectArray<mirror::StaticStorageBase>(self, dex_file.NumTypeIds())); - if (initialized_static_storage.get() == NULL) { - return NULL; - } - dex_cache->Init(&dex_file, location.get(), strings.get(), types.get(), methods.get(), - fields.get(), initialized_static_storage.get()); + fields.get()); return dex_cache.get(); } @@ -1905,7 +1898,6 @@ mirror::ArtMethod* ClassLinker::LoadMethod(Thread* self, const DexFile& dex_file dst->SetDexCacheStrings(klass->GetDexCache()->GetStrings()); dst->SetDexCacheResolvedMethods(klass->GetDexCache()->GetResolvedMethods()); dst->SetDexCacheResolvedTypes(klass->GetDexCache()->GetResolvedTypes()); - dst->SetDexCacheInitializedStaticStorage(klass->GetDexCache()->GetInitializedStaticStorage()); uint32_t access_flags = it.GetMemberAccessFlags(); @@ -2941,8 +2933,6 @@ static void CheckProxyMethod(mirror::ArtMethod* method, CHECK_EQ(prototype->GetDexCacheStrings(), method->GetDexCacheStrings()); CHECK_EQ(prototype->GetDexCacheResolvedMethods(), method->GetDexCacheResolvedMethods()); CHECK_EQ(prototype->GetDexCacheResolvedTypes(), method->GetDexCacheResolvedTypes()); - CHECK_EQ(prototype->GetDexCacheInitializedStaticStorage(), - method->GetDexCacheInitializedStaticStorage()); CHECK_EQ(prototype->GetDexMethodIndex(), method->GetDexMethodIndex()); MethodHelper mh(method); |