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

Reply via email to