975 } |
975 } |
976 #endif // ndef PRODUCT |
976 #endif // ndef PRODUCT |
977 return target; |
977 return target; |
978 } |
978 } |
979 |
979 |
980 #ifndef PRODUCT |
980 #ifdef ASSERT |
981 // Return true is broad type is a covariant return of narrow type |
981 // Return true is broad type is a covariant return of narrow type |
982 static bool covariant_return_type(BasicType narrow, BasicType broad) { |
982 static bool covariant_return_type(BasicType narrow, BasicType broad) { |
983 if (narrow == broad) { |
983 if (narrow == broad) { |
984 return true; |
984 return true; |
985 } |
985 } |
986 if (broad == T_OBJECT) { |
986 if (broad == T_OBJECT) { |
987 return true; |
987 return true; |
988 } |
988 } |
989 return false; |
989 return false; |
990 } |
990 } |
991 #endif // ndef PRODUCT |
991 #endif |
992 |
992 |
993 static int assemble_redirect( |
993 static int assemble_redirect( |
994 BytecodeConstantPool* cp, BytecodeBuffer* buffer, |
994 BytecodeConstantPool* cp, BytecodeBuffer* buffer, |
995 Symbol* incoming, Method* target, TRAPS) { |
995 Symbol* incoming, Method* target, TRAPS) { |
996 |
996 |