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