equal
deleted
inserted
replaced
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 |