mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
8340131: Refactor internal makeHiddenClassDefiner to take option mask instead of Set<ClassOption>
Reviewed-by: liach, jvernee
This commit is contained in:
parent
05b9d47905
commit
e1ebeef040
6 changed files with 44 additions and 25 deletions
|
@ -53,6 +53,8 @@ import java.lang.classfile.constantpool.ClassEntry;
|
|||
import java.lang.classfile.constantpool.ConstantPoolBuilder;
|
||||
import java.lang.classfile.constantpool.MethodRefEntry;
|
||||
import static java.lang.constant.ConstantDescs.*;
|
||||
import static java.lang.invoke.MethodHandleNatives.Constants.NESTMATE_CLASS;
|
||||
import static java.lang.invoke.MethodHandleNatives.Constants.STRONG_LOADER_LINK;
|
||||
import static java.lang.invoke.MethodHandles.Lookup.ClassOption.NESTMATE;
|
||||
import static java.lang.invoke.MethodHandles.Lookup.ClassOption.STRONG;
|
||||
import static java.lang.invoke.MethodType.methodType;
|
||||
|
@ -348,7 +350,7 @@ import sun.invoke.util.Wrapper;
|
|||
try {
|
||||
// this class is linked at the indy callsite; so define a hidden nestmate
|
||||
var classdata = useImplMethodHandle? implementation : null;
|
||||
return caller.makeHiddenClassDefiner(lambdaClassName, classBytes, Set.of(NESTMATE, STRONG), lambdaProxyClassFileDumper)
|
||||
return caller.makeHiddenClassDefiner(lambdaClassName, classBytes, lambdaProxyClassFileDumper, NESTMATE_CLASS | STRONG_LOADER_LINK)
|
||||
.defineClass(!disableEagerInitialization, classdata);
|
||||
|
||||
} catch (Throwable t) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue