< prev index next >

src/share/vm/prims/jvmtiEnvBase.cpp

Print this page

        

@@ -1364,17 +1364,17 @@
   // Check that the jobject class matches the return type signature.
   jobject jobj = value.l;
   if (tos == atos && jobj != NULL) { // NULL reference is allowed
     Handle ob_h(current_thread, JNIHandles::resolve_external_guard(jobj));
     NULL_CHECK(ob_h, JVMTI_ERROR_INVALID_OBJECT);
-    KlassHandle ob_kh = KlassHandle(current_thread, ob_h()->klass());
-    NULL_CHECK(ob_kh, JVMTI_ERROR_INVALID_OBJECT);
+    Klass* ob_k = ob_h()->klass();
+    NULL_CHECK(ob_k, JVMTI_ERROR_INVALID_OBJECT);
 
     // Method return type signature.
     char* ty_sign = 1 + strchr(signature->as_C_string(), ')');
 
-    if (!VM_GetOrSetLocal::is_assignable(ty_sign, ob_kh(), current_thread)) {
+    if (!VM_GetOrSetLocal::is_assignable(ty_sign, ob_k, current_thread)) {
       return JVMTI_ERROR_TYPE_MISMATCH;
     }
     *ret_ob_h = ob_h;
   }
   return JVMTI_ERROR_NONE;
< prev index next >