< prev index next >
src/hotspot/share/ci/ciType.cpp
Print this page
*** 32,54 ****
ciType* ciType::_basic_types[T_CONFLICT+1];
// ciType
//
! // This class represents either a class (T_OBJECT), array (T_ARRAY),
! // or one of the primitive types such as T_INT.
// ------------------------------------------------------------------
// ciType::ciType
//
ciType::ciType(BasicType basic_type) : ciMetadata() {
assert(basic_type >= T_BOOLEAN && basic_type <= T_CONFLICT, "range check");
_basic_type = basic_type;
}
ciType::ciType(Klass* k) : ciMetadata(k) {
! _basic_type = k->is_array_klass() ? T_ARRAY : T_OBJECT;
}
// ------------------------------------------------------------------
// ciType::is_subtype_of
--- 32,54 ----
ciType* ciType::_basic_types[T_CONFLICT+1];
// ciType
//
! // This class represents either a class (T_OBJECT), value (T_VALUETYPE),
! // array (T_ARRAY),or one of the primitive types such as T_INT.
// ------------------------------------------------------------------
// ciType::ciType
//
ciType::ciType(BasicType basic_type) : ciMetadata() {
assert(basic_type >= T_BOOLEAN && basic_type <= T_CONFLICT, "range check");
_basic_type = basic_type;
}
ciType::ciType(Klass* k) : ciMetadata(k) {
! _basic_type = k->is_array_klass() ? T_ARRAY : (k->is_value() ? T_VALUETYPE : T_OBJECT);
}
// ------------------------------------------------------------------
// ciType::is_subtype_of
*** 103,112 ****
--- 103,113 ----
// ------------------------------------------------------------------
// ciType::box_klass
//
ciKlass* ciType::box_klass() {
+ assert(basic_type() != T_VALUETYPE, "value type boxing not yet supported");
if (!is_primitive_type()) return this->as_klass(); // reference types are "self boxing"
// Void is "boxed" with a null.
if (basic_type() == T_VOID) return NULL;
< prev index next >