mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8333749: Consolidate ConstantDesc conversion in java.base
Co-authored-by: Claes Redestad <redestad@openjdk.org> Reviewed-by: redestad, jvernee
This commit is contained in:
parent
a6fc2f839a
commit
8d2f9e57c3
13 changed files with 208 additions and 142 deletions
|
@ -27,6 +27,7 @@ package java.lang.invoke;
|
|||
|
||||
import jdk.internal.access.JavaLangAccess;
|
||||
import jdk.internal.access.SharedSecrets;
|
||||
import jdk.internal.constant.ConstantUtils;
|
||||
import jdk.internal.misc.VM;
|
||||
import jdk.internal.util.ClassFileDumper;
|
||||
import jdk.internal.vm.annotation.Stable;
|
||||
|
@ -1090,13 +1091,13 @@ public final class StringConcatFactory {
|
|||
private static MethodHandle generate(Lookup lookup, MethodType args, String[] constants) throws Exception {
|
||||
String className = getClassName(lookup.lookupClass());
|
||||
|
||||
byte[] classBytes = ClassFile.of().build(ClassDesc.of(className),
|
||||
byte[] classBytes = ClassFile.of().build(ConstantUtils.binaryNameToDesc(className),
|
||||
new Consumer<ClassBuilder>() {
|
||||
@Override
|
||||
public void accept(ClassBuilder clb) {
|
||||
clb.withFlags(AccessFlag.FINAL, AccessFlag.SUPER, AccessFlag.SYNTHETIC)
|
||||
.withMethodBody(METHOD_NAME,
|
||||
MethodTypeDesc.ofDescriptor(args.toMethodDescriptorString()),
|
||||
ConstantUtils.methodTypeDesc(args),
|
||||
ClassFile.ACC_FINAL | ClassFile.ACC_PRIVATE | ClassFile.ACC_STATIC,
|
||||
generateMethod(constants, args));
|
||||
}});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue