< prev index next >
src/hotspot/share/opto/type.cpp
Print this page
@@ -264,11 +264,16 @@
case T_ADDRESS:
assert(type->is_return_address(), "");
return TypeRawPtr::make((address)(intptr_t)type->as_return_address()->bci());
case T_VALUETYPE:
+ if (type->as_value_klass()->is_scalarizable()) {
return TypeValueType::make(type->as_value_klass());
+ } else {
+ // Value types cannot be null
+ return TypeOopPtr::make_from_klass(type->as_klass())->join_speculative(TypePtr::NOTNULL);
+ }
default:
// make sure we did not mix up the cases:
assert(type != ciTypeFlow::StateVector::bottom_type(), "");
assert(type != ciTypeFlow::StateVector::top_type(), "");
< prev index next >