< prev index next >
hotspot/src/share/vm/opto/type.cpp
Print this page
*** 259,269 ****
--- 259,273 ----
case T_ADDRESS:
assert(type->is_return_address(), "");
return TypeRawPtr::make((address)(intptr_t)type->as_return_address()->bci());
case T_VALUETYPE:
+ if (type == ciEnv::current()->___Value_klass()) {
+ return TypeValueTypePtr::NOTNULL;
+ } else {
return TypeValueType::make(type->as_value_klass());
+ }
default:
// make sure we did not mix up the cases:
assert(type != ciTypeFlow::StateVector::bottom_type(), "");
assert(type != ciTypeFlow::StateVector::top_type(), "");
*** 2388,2397 ****
--- 2392,2402 ----
//==============================TypeValueType=======================================
//------------------------------make-------------------------------------------
const TypeValueType* TypeValueType::make(ciValueKlass* vk) {
+ //assert(vk != ciEnv::current()->___Value_klass(), "sanity");
return (TypeValueType*)(new TypeValueType(vk))->hashcons();
}
//------------------------------meet-------------------------------------------
// Compute the MEET of two types. It returns a new Type object.
< prev index next >