src/hotspot/share/classfile/javaClasses.inline.hpp
changeset 53143 6b7240a24b56
parent 52383 71564a544d4c
child 53244 9807daeb47c4
equal deleted inserted replaced
53142:5c0ec35d0533 53143:6b7240a24b56
   170   return obj != NULL && is_subclass(obj->klass());
   170   return obj != NULL && is_subclass(obj->klass());
   171 }
   171 }
   172 
   172 
   173 inline bool java_lang_Class::is_instance(oop obj) {
   173 inline bool java_lang_Class::is_instance(oop obj) {
   174   return obj != NULL && obj->klass() == SystemDictionary::Class_klass();
   174   return obj != NULL && obj->klass() == SystemDictionary::Class_klass();
       
   175 }
       
   176 
       
   177 inline bool java_lang_Class::is_primitive(oop java_class) {
       
   178   // should assert:
       
   179   //assert(java_lang_Class::is_instance(java_class), "must be a Class object");
       
   180   bool is_primitive = (java_class->metadata_field(_klass_offset) == NULL);
       
   181 
       
   182 #ifdef ASSERT
       
   183   if (is_primitive) {
       
   184     Klass* k = ((Klass*)java_class->metadata_field(_array_klass_offset));
       
   185     assert(k == NULL || is_java_primitive(ArrayKlass::cast(k)->element_type()),
       
   186         "Should be either the T_VOID primitive or a java primitive");
       
   187   }
       
   188 #endif
       
   189 
       
   190   return is_primitive;
   175 }
   191 }
   176 
   192 
   177 inline bool java_lang_invoke_DirectMethodHandle::is_instance(oop obj) {
   193 inline bool java_lang_invoke_DirectMethodHandle::is_instance(oop obj) {
   178   return obj != NULL && is_subclass(obj->klass());
   194   return obj != NULL && is_subclass(obj->klass());
   179 }
   195 }