< prev index next > src/hotspot/share/ci/ciType.cpp
Print this page
ciType* ciType::_basic_types[T_CONFLICT+1];
// ciType
//
! // This class represents a Java reference or primitive type.
// ------------------------------------------------------------------
// ciType::ciType
//
ciType::ciType(BasicType basic_type) : ciMetadata() {
ciType* ciType::_basic_types[T_CONFLICT+1];
// ciType
//
! // This class represents a Java reference, inline type or primitive type.
// ------------------------------------------------------------------
// ciType::ciType
//
ciType::ciType(BasicType basic_type) : ciMetadata() {
// ------------------------------------------------------------------
// ciReturnAddress::make
ciReturnAddress* ciReturnAddress::make(int bci) {
GUARDED_VM_ENTRY(return CURRENT_ENV->get_return_address(bci);)
}
+
+ ciWrapper::ciWrapper(ciType* type, int properties)
+ : ciType(type->basic_type()),
+ _type(type),
+ _properties(properties) {
+ assert(!type->is_wrapper(), "Thou shall not double wrap!");
+ assert(type->is_inlinetype()
+ // An abstract value type is an instance_klass
+ || (type->is_instance_klass() && !type->as_instance_klass()->flags().is_identity())
+ // An unloaded inline type is an instance_klass (see ciEnv::get_klass_by_name_impl())
+ || (type->is_instance_klass() && !type->is_loaded()),
+ "should only be used for inline types");
+ }
< prev index next >