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