hotspot/src/share/vm/ci/ciObjArrayKlass.cpp
changeset 20702 bbe0fcde6e13
parent 13952 e3cf184080bc
child 22234 da823d78ad65
equal deleted inserted replaced
20701:ef9996662fd5 20702:bbe0fcde6e13
   177 //
   177 //
   178 // Make an array klass corresponding to the specified primitive type.
   178 // Make an array klass corresponding to the specified primitive type.
   179 ciObjArrayKlass* ciObjArrayKlass::make(ciKlass* element_klass) {
   179 ciObjArrayKlass* ciObjArrayKlass::make(ciKlass* element_klass) {
   180   GUARDED_VM_ENTRY(return make_impl(element_klass);)
   180   GUARDED_VM_ENTRY(return make_impl(element_klass);)
   181 }
   181 }
       
   182 
       
   183 ciKlass* ciObjArrayKlass::exact_klass() {
       
   184   ciType* base = base_element_type();
       
   185   if (base->is_instance_klass()) {
       
   186     ciInstanceKlass* ik = base->as_instance_klass();
       
   187     if (ik->exact_klass() != NULL) {
       
   188       return this;
       
   189     }
       
   190   } else if (base->is_primitive_type()) {
       
   191     return this;
       
   192   }
       
   193   return NULL;
       
   194 }