hotspot/src/share/vm/prims/jniCheck.cpp
changeset 4571 80b553bddc26
parent 3672 65e946046d1e
child 5547 f4b087cbb361
equal deleted inserted replaced
4569:f372ea9e5ed4 4571:80b553bddc26
   339   oop mirror = jniCheck::validate_handle(thr, clazz);
   339   oop mirror = jniCheck::validate_handle(thr, clazz);
   340   if (!mirror) {
   340   if (!mirror) {
   341     ReportJNIFatalError(thr, fatal_received_null_class);
   341     ReportJNIFatalError(thr, fatal_received_null_class);
   342   }
   342   }
   343 
   343 
   344   if (mirror->klass() != SystemDictionary::class_klass()) {
   344   if (mirror->klass() != SystemDictionary::Class_klass()) {
   345     ReportJNIFatalError(thr, fatal_class_not_a_class);
   345     ReportJNIFatalError(thr, fatal_class_not_a_class);
   346   }
   346   }
   347 
   347 
   348   klassOop k = java_lang_Class::as_klassOop(mirror);
   348   klassOop k = java_lang_Class::as_klassOop(mirror);
   349   // Make allowances for primitive classes ...
   349   // Make allowances for primitive classes ...
   356 void jniCheck::validate_throwable_klass(JavaThread* thr, klassOop klass) {
   356 void jniCheck::validate_throwable_klass(JavaThread* thr, klassOop klass) {
   357   ASSERT_OOPS_ALLOWED;
   357   ASSERT_OOPS_ALLOWED;
   358   assert(klass != NULL, "klass argument must have a value");
   358   assert(klass != NULL, "klass argument must have a value");
   359 
   359 
   360   if (!Klass::cast(klass)->oop_is_instance() ||
   360   if (!Klass::cast(klass)->oop_is_instance() ||
   361       !instanceKlass::cast(klass)->is_subclass_of(SystemDictionary::throwable_klass())) {
   361       !instanceKlass::cast(klass)->is_subclass_of(SystemDictionary::Throwable_klass())) {
   362     ReportJNIFatalError(thr, fatal_class_not_a_throwable_class);
   362     ReportJNIFatalError(thr, fatal_class_not_a_throwable_class);
   363   }
   363   }
   364 }
   364 }
   365 
   365 
   366 void jniCheck::validate_call_object(JavaThread* thr, jobject obj, jmethodID method_id) {
   366 void jniCheck::validate_call_object(JavaThread* thr, jobject obj, jmethodID method_id) {