RFR: 8341184: Clean up the interaction between the launcher native code and the LauncherHelper [v16]
Shaojin Wen
swen at openjdk.org
Wed May 7 07:37:18 UTC 2025
On Mon, 24 Feb 2025 09:46:29 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:
>> Can I please get a review of this change, which simplifies the interaction between the `java` launcher's native code with the `sun.launcher.LauncherHelper`?
>>
>> As noted in https://bugs.openjdk.org/browse/JDK-8341184, this proposed change reduces the back and forth between the launcher's native code and the `LauncherHelper` class. This also removes the additional reflective lookups from the native code after the main class and main method have been determined by the `LauncherHelper`.
>>
>> Although this is a clean up of the code, the changes in the `LauncherHelper` to return a `MainEntry` have been done in a way to facilitate additional upcoming changes in this area, which propose to get rid of the JAR manifest parsing from the launcher's native code.
>>
>> No new tests have been added. Existing tests in tier1, tier2 and tier3 continue to pass.
>
> Jaikiran Pai has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits:
>
> - merge latest from master branch
> - merge latest from master branch
> - merge latest from master branch
> - merge latest from master branch
> - merge latest from master branch
> - merge latest from master branch
> - merge latest from master branch
> - merge latest from master branch
> - merge latest from master branch
> - merge latest from master branch
> - ... and 6 more: https://git.openjdk.org/jdk/compare/e410af00...d1ac5174
src/java.base/share/classes/sun/launcher/LauncherHelper.java line 946:
> 944: JAVAFX_APPLICATION_CLASS_NAME);
> 945: }
> 946: }
Suggestion:
if (!PreviewFeatures.isEnabled()) {
int mods = mainMethod.getModifiers();
if (!Modifier.isStatic(mods) || !Modifier.isPublic(mods) || mainMethod.getParameterCount() == 0) {
abort(null, "java.launcher.cls.error2", builder.mainClass.getName(),
JAVAFX_APPLICATION_CLASS_NAME);
}
}
Remove variables that are only used once
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21256#discussion_r2076992705
More information about the core-libs-dev
mailing list