< prev index next >
src/hotspot/share/opto/parseHelper.cpp
Print this page
*** 235,246 ****
// Handle value type arrays
const Type* elemtype = _gvn.type(ary)->is_aryptr()->elem();
if (elemtype->isa_valuetype() != NULL || elemtype->is_valuetypeptr()) {
// We statically know that this is a value type array, use precise klass ptr
! ciValueKlass* vk = elemtype->isa_valuetype() ? elemtype->is_valuetype()->value_klass() : elemtype->value_klass();
! a_e_klass = makecon(TypeKlassPtr::make(vk));
}
// Check (the hard way) and throw if not a subklass.
return gen_checkcast(obj, a_e_klass);
}
--- 235,245 ----
// Handle value type arrays
const Type* elemtype = _gvn.type(ary)->is_aryptr()->elem();
if (elemtype->isa_valuetype() != NULL || elemtype->is_valuetypeptr()) {
// We statically know that this is a value type array, use precise klass ptr
! a_e_klass = makecon(TypeKlassPtr::make(elemtype->value_klass()));
}
// Check (the hard way) and throw if not a subklass.
return gen_checkcast(obj, a_e_klass);
}
< prev index next >