Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8082643 | emb-9 | Roland Westrelin | P4 | Resolved | Fixed | team |
} else if( in_ptr == TypePtr::Constant ) {
// Casting a constant oop to an interface? // (i.e., a String to a Comparable?)
// Then return the interface.
const TypeOopPtr *jptr = my_type->isa_oopptr();
assert( jptr, "" );
result = (jptr->klass()->is_interface() || !in_type->higher_equal(_type))
? my_type->cast_to_ptr_type( TypePtr::NotNull )
: in_type;
John's comment: "I don't think it helps. This seems like very old code from when interface types were causing faults in type.cpp impl. That logic might be deletable now. As far as I know, interface types are useless noise in C2."
// Casting a constant oop to an interface? // (i.e., a String to a Comparable?)
// Then return the interface.
const TypeOopPtr *jptr = my_type->isa_oopptr();
assert( jptr, "" );
result = (jptr->klass()->is_interface() || !in_type->higher_equal(_type))
? my_type->cast_to_ptr_type( TypePtr::NotNull )
: in_type;
John's comment: "I don't think it helps. This seems like very old code from when interface types were causing faults in type.cpp impl. That logic might be deletable now. As far as I know, interface types are useless noise in C2."
- backported by
-
JDK-8082643 CheckCastPPNode::Value() has outdated logic for constants
-
- Resolved
-