Integrated: 8316421: libjava should load shell32.dll eagerly

Daniel Jeliński djelinski at openjdk.org
Thu Sep 21 12:42:54 UTC 2023


On Mon, 18 Sep 2023 14:44:13 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

> 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.

This pull request has now been integrated.

Changeset: 8cbe42b9
Author:    Daniel Jeliński <djelinski at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/8cbe42b94aaf2ff090ae8399da0418e9e2fc3873
Stats:     37 lines in 2 files changed: 0 ins; 31 del; 6 mod

8316421: libjava should load shell32.dll eagerly

Reviewed-by: erikj, jwaters, jvernee

-------------

PR: https://git.openjdk.org/jdk/pull/15789


More information about the build-dev mailing list