summaryrefslogtreecommitdiff
path: root/runtime/native/java_lang_DexCache.cc
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2015-08-03 11:56:49 +0100
committer Vladimir Marko <vmarko@google.com> 2015-09-03 17:30:57 +0100
commit05792b98980741111b4d0a24d68cff2a8e070a3a (patch)
treebad79a387bcbdaefc87c07b388099960ca9caff3 /runtime/native/java_lang_DexCache.cc
parentc26b4512a01d46756683a4f5e186a0b7f397f251 (diff)
ART: Move DexCache arrays to native.
This CL has a companion CL in libcore/ https://android-review.googlesource.com/162985 Change-Id: Icbc9e20ad1b565e603195b12714762bb446515fa
Diffstat (limited to 'runtime/native/java_lang_DexCache.cc')
-rw-r--r--runtime/native/java_lang_DexCache.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/runtime/native/java_lang_DexCache.cc b/runtime/native/java_lang_DexCache.cc
index a2d9797114..994ccb1ad9 100644
--- a/runtime/native/java_lang_DexCache.cc
+++ b/runtime/native/java_lang_DexCache.cc
@@ -52,12 +52,14 @@ static jobject DexCache_getDexNative(JNIEnv* env, jobject javaDexCache) {
static jobject DexCache_getResolvedType(JNIEnv* env, jobject javaDexCache, jint type_index) {
ScopedFastNativeObjectAccess soa(env);
mirror::DexCache* dex_cache = soa.Decode<mirror::DexCache*>(javaDexCache);
+ CHECK_LT(static_cast<size_t>(type_index), dex_cache->NumResolvedTypes());
return soa.AddLocalReference<jobject>(dex_cache->GetResolvedType(type_index));
}
static jobject DexCache_getResolvedString(JNIEnv* env, jobject javaDexCache, jint string_index) {
ScopedFastNativeObjectAccess soa(env);
mirror::DexCache* dex_cache = soa.Decode<mirror::DexCache*>(javaDexCache);
+ CHECK_LT(static_cast<size_t>(string_index), dex_cache->NumStrings());
return soa.AddLocalReference<jobject>(dex_cache->GetResolvedString(string_index));
}
@@ -65,6 +67,7 @@ static void DexCache_setResolvedType(JNIEnv* env, jobject javaDexCache, jint typ
jobject type) {
ScopedFastNativeObjectAccess soa(env);
mirror::DexCache* dex_cache = soa.Decode<mirror::DexCache*>(javaDexCache);
+ CHECK_LT(static_cast<size_t>(type_index), dex_cache->NumResolvedTypes());
dex_cache->SetResolvedType(type_index, soa.Decode<mirror::Class*>(type));
}
@@ -72,6 +75,7 @@ static void DexCache_setResolvedString(JNIEnv* env, jobject javaDexCache, jint s
jobject string) {
ScopedFastNativeObjectAccess soa(env);
mirror::DexCache* dex_cache = soa.Decode<mirror::DexCache*>(javaDexCache);
+ CHECK_LT(static_cast<size_t>(string_index), dex_cache->NumStrings());
dex_cache->SetResolvedString(string_index, soa.Decode<mirror::String*>(string));
}