RFR: 8340131: Refactor internal makeHiddenClassDefiner to take ClassOption ... instead of Set
ExE Boss
duke at openjdk.org
Fri Sep 13 18:36:08 UTC 2024
On Fri, 13 Sep 2024 15:40:46 GMT, Claes Redestad <redestad at openjdk.org> wrote:
> Simple internal refactor to load a few classes less on startup. Arguably cleaner.
The private methods don’t need to be `ACC_VARARGS`, also remove excess whitespace between `ClassOption` and `...` to match the code style of the rest of the JDK.
Also, it might be a good idea to add overloads which don’t take any options to avoid unnecessary allocation of zero‑length arrays, such as those in `InvokerBytecodeGenerator`, `MethodHandleProxies`, and `StringConcatFactory`.
src/java.base/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java line 80:
> 78: private static final boolean disableEagerInitialization;
> 79:
> 80: public static final MethodHandles.Lookup.ClassOption[] LAMBDA_CLASS_OPTIONS = { NESTMATE, STRONG };
Suggestion:
private static final MethodHandles.Lookup.ClassOption[] LAMBDA_CLASS_OPTIONS = { NESTMATE, STRONG };
src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 1909:
> 1907: }
> 1908:
> 1909: static int optionsToFlag(ClassOption ... options) {
Suggestion:
static int optionsToFlag(ClassOption[] options) {
src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 2390:
> 2388: private ClassDefiner makeHiddenClassDefiner(byte[] bytes,
> 2389: boolean accessVmAnnotations,
> 2390: ClassOption ... options) {
Suggestion:
ClassOption[] options) {
src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 2405:
> 2403: * @return ClassDefiner that defines a hidden class of the given bytes and options.
> 2404: */
> 2405: ClassDefiner makeHiddenClassDefiner(String name, byte[] bytes, ClassFileDumper dumper, ClassOption ... options) {
Suggestion:
ClassDefiner makeHiddenClassDefiner(String name, byte[] bytes, ClassFileDumper dumper, ClassOption... options) {
src/java.base/share/classes/java/lang/invoke/MethodHandles.java line 2423:
> 2421: boolean accessVmAnnotations,
> 2422: ClassFileDumper dumper,
> 2423: ClassOption ... options) {
Suggestion:
ClassOption[] options) {
-------------
PR Review: https://git.openjdk.org/jdk/pull/21002#pullrequestreview-2303790450
PR Review Comment: https://git.openjdk.org/jdk/pull/21002#discussion_r1759296535
PR Review Comment: https://git.openjdk.org/jdk/pull/21002#discussion_r1759296736
PR Review Comment: https://git.openjdk.org/jdk/pull/21002#discussion_r1759297371
PR Review Comment: https://git.openjdk.org/jdk/pull/21002#discussion_r1759297457
PR Review Comment: https://git.openjdk.org/jdk/pull/21002#discussion_r1759297538
More information about the core-libs-dev
mailing list