Please review this patch that makes java.dll load shell32.dll earlier. Delay-loading requires some additional code (delayimp.lib), and offers no benefits since we always load shell32 during JVM startup.
Other than removing the delayload clause, the patch also cleans up the `getHomeFromShell32` method: - the WinXP code path is removed. The documentation states that [the older function just calls the new one with translated parameters](https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderpatha). - `CoTaskMemFree` is now called if `SHGetKnownFolderPath` fails. This is suggested by the documentation, but probably never needed in practice. This change shouldn't have any observable effect on behavior on any of the supported operating systems. It reduced the size of java.dll by 2KB on my machine. No new tests. Existing tier1-2 tests continue to pass. ------------- Commit messages: - Clean up getHomeFromShell32 - Eager load shell32 Changes: https://git.openjdk.org/jdk/pull/15789/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15789&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8316421 Stats: 32 lines in 2 files changed: 0 ins; 26 del; 6 mod Patch: https://git.openjdk.org/jdk/pull/15789.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/15789/head:pull/15789 PR: https://git.openjdk.org/jdk/pull/15789