< prev index next >
src/hotspot/share/opto/subnode.cpp
Print this page
*** 901,910 ****
--- 901,918 ----
return TypeInt::CC_GT;
}
}
}
}
+ const TypeKlassPtr* k0 = r0->isa_klassptr();
+ const TypeKlassPtr* k1 = r1->isa_klassptr();
+ if (k0 && k1) {
+ if ((k0->flatten_array() && (!k1->can_be_value_type() || (k1->klass()->is_valuetype() && !k1->klass()->flatten_array()))) ||
+ (k1->flatten_array() && (!k0->can_be_value_type() || (k0->klass()->is_valuetype() && !k0->klass()->flatten_array())))) {
+ return TypeInt::CC_GT;
+ }
+ }
// Known constants can be compared exactly
// Null can be distinguished from any NotNull pointers
// Unknown inputs makes an unknown result
if( r0->singleton() ) {
< prev index next >