RFR: JDK-8329850: [AIX] Allow loading of different members of same shared library archive

Martin Doerr mdoerr at openjdk.org
Mon Apr 8 12:58:10 UTC 2024


On Mon, 8 Apr 2024 12:27:05 GMT, Joachim Kern <jkern at openjdk.org> wrote:

> With [JDK-8320890](https://bugs.openjdk.org/browse/JDK-8320890) we introduced the capability not to load shared libraries twice if the application wants to do that. Instead we just rise a ref counter. Unfortunately this also suppresses the loading of a second member of a shared library.
> This fix introduces an additionally stored hash value for each loaded member and only suppresses duplicate loading if the same member is loaded twice.
> If a shared library has no member a hash value of 0 is used to make the code orthogonal.

src/hotspot/os/aix/porting_aix.cpp line 1061:

> 1059:         hash = (hash << 5) - hash + (unsigned long)*substr++;
> 1060:       }
> 1061:     }

Should work in practical cases, but what if a hash collision occurs?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18676#discussion_r1555796650


More information about the hotspot-runtime-dev mailing list