< 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 >