< prev index next >

src/hotspot/share/c1/c1_Instruction.cpp

Print this page


 205   ciType* array_type = array()->declared_type();
 206   if (array_type == NULL || !array_type->is_loaded()) {
 207     return NULL;
 208   }
 209   assert(array_type->is_array_klass(), "what else?");
 210   ciArrayKlass* ak = (ciArrayKlass*)array_type;
 211   return ak->element_type();
 212 }
 213 
 214 
 215 ciType* LoadField::declared_type() const {
 216   return field()->type();
 217 }
 218 
 219 
 220 ciType* NewTypeArray::exact_type() const {
 221   return ciTypeArrayKlass::make(elt_type());
 222 }
 223 
 224 ciType* NewObjectArray::exact_type() const {
 225   return ciObjArrayKlass::make(klass());





 226 }
 227 
 228 ciType* NewArray::declared_type() const {
 229   return exact_type();
 230 }
 231 
 232 ciType* NewInstance::exact_type() const {
 233   return klass();
 234 }
 235 
 236 ciType* NewInstance::declared_type() const {
 237   return exact_type();
 238 }
 239 
 240 Value NewValueTypeInstance::depends_on() {
 241   if (_depends_on != this) {
 242     if (_depends_on->as_NewValueTypeInstance() != NULL) {
 243       return _depends_on->as_NewValueTypeInstance()->depends_on();
 244     }
 245   }




 205   ciType* array_type = array()->declared_type();
 206   if (array_type == NULL || !array_type->is_loaded()) {
 207     return NULL;
 208   }
 209   assert(array_type->is_array_klass(), "what else?");
 210   ciArrayKlass* ak = (ciArrayKlass*)array_type;
 211   return ak->element_type();
 212 }
 213 
 214 
 215 ciType* LoadField::declared_type() const {
 216   return field()->type();
 217 }
 218 
 219 
 220 ciType* NewTypeArray::exact_type() const {
 221   return ciTypeArrayKlass::make(elt_type());
 222 }
 223 
 224 ciType* NewObjectArray::exact_type() const {
 225   ciKlass* element_klass = klass();
 226   if (element_klass->is_valuetype()) {
 227     return ciValueArrayKlass::make(element_klass);
 228   } else {
 229     return ciObjArrayKlass::make(element_klass);
 230   }
 231 }
 232 
 233 ciType* NewArray::declared_type() const {
 234   return exact_type();
 235 }
 236 
 237 ciType* NewInstance::exact_type() const {
 238   return klass();
 239 }
 240 
 241 ciType* NewInstance::declared_type() const {
 242   return exact_type();
 243 }
 244 
 245 Value NewValueTypeInstance::depends_on() {
 246   if (_depends_on != this) {
 247     if (_depends_on->as_NewValueTypeInstance() != NULL) {
 248       return _depends_on->as_NewValueTypeInstance()->depends_on();
 249     }
 250   }


< prev index next >