mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-24 22:00:44 +00:00
8164485: Zero forms not properly generated
Reviewed-by: psandoz
This commit is contained in:
parent
f86257fff9
commit
069573f635
@ -43,18 +43,8 @@ class GenerateJLIClassesHelper {
|
||||
ArrayList<String> names = new ArrayList<>();
|
||||
HashSet<String> dedupSet = new HashSet<>();
|
||||
for (LambdaForm.BasicType type : LambdaForm.BasicType.values()) {
|
||||
LambdaForm zero = LambdaForm.zeroForm(type);
|
||||
String name = zero.kind.defaultLambdaName
|
||||
+ "_" + zero.returnType().basicTypeChar();
|
||||
// since zero is the same as identity for Void, we deduplicate
|
||||
// aggressively to guard against this specifically and not get
|
||||
// caught on future equivalences
|
||||
if (dedupSet.add(name)) {
|
||||
names.add(name);
|
||||
forms.add(zero);
|
||||
}
|
||||
LambdaForm identity = LambdaForm.identityForm(type);
|
||||
name = identity.kind.defaultLambdaName
|
||||
String name = identity.kind.defaultLambdaName
|
||||
+ "_" + identity.returnType().basicTypeChar();
|
||||
if (dedupSet.add(name)) {
|
||||
names.add(name);
|
||||
|
||||
@ -624,7 +624,6 @@ class InvokerBytecodeGenerator {
|
||||
return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class);
|
||||
}
|
||||
case DELEGATE: return resolveFrom(name, invokerType, DelegatingMethodHandle.Holder.class);
|
||||
case ZERO: // fall-through
|
||||
case IDENTITY: {
|
||||
name = name + "_" + form.returnType().basicTypeChar();
|
||||
return resolveFrom(name, invokerType, LambdaForm.Holder.class);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user