< prev index next >

src/hotspot/share/prims/jni.cpp

Print this page
rev 50625 : [mq]: 8205141-ArrayStoreExceptionTest-fails-with-assert

*** 2603,2613 **** --- 2603,2615 ---- JNI_ENTRY(jobject, jni_GetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index)) JNIWrapper("GetObjectArrayElement"); HOTSPOT_JNI_GETOBJECTARRAYELEMENT_ENTRY(env, array, index); jobject ret = NULL; DT_RETURN_MARK(GetObjectArrayElement, jobject, (const jobject&)ret); + assert(array != NULL, "Input array is NULL"); objArrayOop a = objArrayOop(JNIHandles::resolve_non_null(array)); + assert(a->is_objArray() == true, "Input array is not an object array."); if (a->is_within_bounds(index)) { ret = JNIHandles::make_local(env, a->obj_at(index)); return ret; } else { char buf[jintAsStringSize];
*** 2622,2632 **** --- 2624,2636 ---- JNI_ENTRY(void, jni_SetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index, jobject value)) JNIWrapper("SetObjectArrayElement"); HOTSPOT_JNI_SETOBJECTARRAYELEMENT_ENTRY(env, array, index, value); DT_VOID_RETURN_MARK(SetObjectArrayElement); + assert(array != NULL, "Input array is NULL"); objArrayOop a = objArrayOop(JNIHandles::resolve_non_null(array)); + assert(a->is_objArray() == true, "Input array is not an object array."); oop v = JNIHandles::resolve(value); if (a->is_within_bounds(index)) { if (v == NULL || v->is_a(ObjArrayKlass::cast(a->klass())->element_klass())) { a->obj_at_put(index, v); } else {
< prev index next >