< prev index next >
src/hotspot/share/opto/parse2.cpp
Print this page
@@ -71,11 +71,11 @@
return;
} else if (elemptr != NULL && elemptr->is_valuetypeptr() && !elemptr->maybe_null()) {
// Load from non-flattened but flattenable value type array (elements can never be null)
bt = T_VALUETYPE;
} else if (ValueArrayFlatten && elemptr != NULL && elemptr->can_be_value_type() &&
- (!ary_t->klass_is_exact() || (elemptr->is_valuetypeptr() && elemptr->value_klass()->flatten_array()))) {
+ ((!elemptr->is_valuetypeptr() && !ary_t->klass_is_exact()) || (elemptr->is_valuetypeptr() && elemptr->value_klass()->flatten_array()))) {
// Cannot statically determine if array is flattened, emit runtime check
IdealKit ideal(this);
IdealVariable res(ideal);
ideal.declarations_done();
Node* kls = load_object_klass(ary);
< prev index next >