8244413: Avoid rebinds in MethodHandle.viewAsType

Reviewed-by: mchung, jrose
This commit is contained in:
Claes Redestad 2020-05-06 15:51:49 +02:00
parent 463e377053
commit 72704aaba1
4 changed files with 92 additions and 36 deletions

View file

@ -61,6 +61,20 @@ abstract class DelegatingMethodHandle extends MethodHandle {
return getTarget().internalMemberName();
}
@Override
boolean isCrackable() {
MemberName member = internalMemberName();
return member != null &&
(member.isResolved() ||
member.isMethodHandleInvoke() ||
member.isVarHandleMethodInvoke());
}
@Override
MethodHandle viewAsType(MethodType newType, boolean strict) {
return getTarget().viewAsType(newType, strict);
}
@Override
boolean isInvokeSpecial() {
return getTarget().isInvokeSpecial();