hotspot/src/share/vm/prims/unsafe.cpp
changeset 40385 a7011a835634
parent 39260 10fcac2a233a
child 40655 9f644073d3a0
equal deleted inserted replaced
40384:43db0d4b6e14 40385:a7011a835634
   859     assert(p->is_objArray(), "cp_patches must be an object[]");
   859     assert(p->is_objArray(), "cp_patches must be an object[]");
   860     cp_patches_h = objArrayHandle(THREAD, (objArrayOop)p);
   860     cp_patches_h = objArrayHandle(THREAD, (objArrayOop)p);
   861   }
   861   }
   862 
   862 
   863   const Klass* host_klass = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(host_class));
   863   const Klass* host_klass = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(host_class));
       
   864 
       
   865   // Make sure it's the real host class, not another anonymous class.
       
   866   while (host_klass != NULL && host_klass->is_instance_klass() &&
       
   867          InstanceKlass::cast(host_klass)->is_anonymous()) {
       
   868     host_klass = InstanceKlass::cast(host_klass)->host_klass();
       
   869   }
       
   870 
   864   // Primitive types have NULL Klass* fields in their java.lang.Class instances.
   871   // Primitive types have NULL Klass* fields in their java.lang.Class instances.
   865   if (host_klass == NULL) {
   872   if (host_klass == NULL) {
   866     THROW_0(vmSymbols::java_lang_IllegalArgumentException());
   873     THROW_0(vmSymbols::java_lang_IllegalArgumentException());
   867   }
   874   }
   868 
   875