equal
deleted
inserted
replaced
264 Klass* k_oop = jniCheck::validate_class(thr, cls, false); |
264 Klass* k_oop = jniCheck::validate_class(thr, cls, false); |
265 |
265 |
266 /* check for proper subclass hierarchy */ |
266 /* check for proper subclass hierarchy */ |
267 JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fid); |
267 JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fid); |
268 Klass* f_oop = id->holder(); |
268 Klass* f_oop = id->holder(); |
269 if (!InstanceKlass::cast(k_oop)->is_subtype_of(f_oop)) |
269 if (!k_oop->is_subtype_of(f_oop)) |
270 ReportJNIFatalError(thr, fatal_wrong_static_field); |
270 ReportJNIFatalError(thr, fatal_wrong_static_field); |
271 |
271 |
272 /* check for proper field type */ |
272 /* check for proper field type */ |
273 if (!id->find_local_field(&fd)) |
273 if (!id->find_local_field(&fd)) |
274 ReportJNIFatalError(thr, fatal_static_field_not_found); |
274 ReportJNIFatalError(thr, fatal_static_field_not_found); |
511 void jniCheck::validate_throwable_klass(JavaThread* thr, Klass* klass) { |
511 void jniCheck::validate_throwable_klass(JavaThread* thr, Klass* klass) { |
512 ASSERT_OOPS_ALLOWED; |
512 ASSERT_OOPS_ALLOWED; |
513 assert(klass != NULL, "klass argument must have a value"); |
513 assert(klass != NULL, "klass argument must have a value"); |
514 |
514 |
515 if (!klass->is_instance_klass() || |
515 if (!klass->is_instance_klass() || |
516 !InstanceKlass::cast(klass)->is_subclass_of(SystemDictionary::Throwable_klass())) { |
516 !klass->is_subclass_of(SystemDictionary::Throwable_klass())) { |
517 ReportJNIFatalError(thr, fatal_class_not_a_throwable_class); |
517 ReportJNIFatalError(thr, fatal_class_not_a_throwable_class); |
518 } |
518 } |
519 } |
519 } |
520 |
520 |
521 void jniCheck::validate_call(JavaThread* thr, jclass clazz, jmethodID method_id, jobject obj) { |
521 void jniCheck::validate_call(JavaThread* thr, jclass clazz, jmethodID method_id, jobject obj) { |