< prev index next >

src/hotspot/share/ci/ciType.cpp

Print this page

        

@@ -33,23 +33,23 @@
 
 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.
+// 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 : T_OBJECT;
+  _basic_type = k->is_array_klass() ? T_ARRAY : (k->is_value() ? T_VALUETYPE : T_OBJECT);
 }
 
 
 // ------------------------------------------------------------------
 // ciType::is_subtype_of

@@ -104,10 +104,11 @@
 
 // ------------------------------------------------------------------
 // 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 >