equal
deleted
inserted
replaced
1426 bool invoke_through_mh_intrinsic = declared_method->is_method_handle_intrinsic() && |
1426 bool invoke_through_mh_intrinsic = declared_method->is_method_handle_intrinsic() && |
1427 !resolved_method->is_method_handle_intrinsic(); |
1427 !resolved_method->is_method_handle_intrinsic(); |
1428 |
1428 |
1429 if (!invoke_through_mh_intrinsic) { |
1429 if (!invoke_through_mh_intrinsic) { |
1430 // Method name & descriptor should stay the same. |
1430 // Method name & descriptor should stay the same. |
|
1431 // Signatures may reference unloaded types and thus they may be not strictly equal. |
|
1432 ciSymbol* declared_signature = declared_method->signature()->as_symbol(); |
|
1433 ciSymbol* resolved_signature = resolved_method->signature()->as_symbol(); |
|
1434 |
1431 return (declared_method->name()->equals(resolved_method->name())) && |
1435 return (declared_method->name()->equals(resolved_method->name())) && |
1432 (declared_method->signature()->equals(resolved_method->signature())); |
1436 (declared_signature->equals(resolved_signature)); |
1433 } |
1437 } |
1434 |
1438 |
1435 ciMethod* linker = declared_method; |
1439 ciMethod* linker = declared_method; |
1436 ciMethod* target = resolved_method; |
1440 ciMethod* target = resolved_method; |
1437 // Linkers have appendix argument which is not passed to callee. |
1441 // Linkers have appendix argument which is not passed to callee. |