< prev index next >

src/hotspot/share/prims/jni.cpp

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

@@ -2603,11 +2603,13 @@
 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,11 +2624,13 @@
 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 >