equal
deleted
inserted
replaced
793 return NULL; |
793 return NULL; |
794 } |
794 } |
795 |
795 |
796 ciInstanceKlass *ikl = receiver_type->klass()->as_instance_klass(); |
796 ciInstanceKlass *ikl = receiver_type->klass()->as_instance_klass(); |
797 if (ikl->is_loaded() && ikl->is_initialized() && !ikl->is_interface() && |
797 if (ikl->is_loaded() && ikl->is_initialized() && !ikl->is_interface() && |
798 (ikl == actual_receiver || ikl->is_subclass_of(actual_receiver))) { |
798 (ikl == actual_receiver || ikl->is_subtype_of(actual_receiver))) { |
799 // ikl is a same or better type than the original actual_receiver, |
799 // ikl is a same or better type than the original actual_receiver, |
800 // e.g. static receiver from bytecodes. |
800 // e.g. static receiver from bytecodes. |
801 actual_receiver = ikl; |
801 actual_receiver = ikl; |
802 // Is the actual_receiver exact? |
802 // Is the actual_receiver exact? |
803 actual_receiver_is_exact = receiver_type->klass_is_exact(); |
803 actual_receiver_is_exact = receiver_type->klass_is_exact(); |