--- old/src/hotspot/share/ci/ciType.cpp 2019-03-11 14:25:30.302355651 +0100 +++ new/src/hotspot/share/ci/ciType.cpp 2019-03-11 14:25:30.098355654 +0100 @@ -34,8 +34,8 @@ // 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 @@ -46,7 +46,7 @@ } 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); } @@ -105,6 +105,7 @@ // 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.