**Summary:** Finally get rid of the mapfiles in Hotspot, and replace it with 
compiler options and JNIEXPORT on all platforms.

The bug that this PR solves, 
[JDK-8017234](https://bugs.openjdk.org/browse/JDK-8017234), was created in 
2013. Even back then the use of mapfiles in Hotspot was dated, so this is 
really good riddance with old rubbish.

This code touches on central but not well understood parts of the Hotspot 
dynamic library, which has contributed to why this bug has stayed unresolved 
for so long. I will need to explain this fix in more detail than usually 
necessary. (Please bare with me if this gets long.) I also anticipate that not 
all solutions that I've picked will be accepted, and we'll have to discuss how 
to proceed. I think it is better to have actual concrete code to discuss 
around, rather than starting by an abstract discussion. To keep this 
description short, I will post the discussion as a comment to the PR.

I have run this PR through tier 1-3 in our CI system. I have also carefully 
checked how the resulting dynamic library differs with this patch (not much; 
see discussion below). For build system changes, this is often the most 
relevant metric.

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

Commit messages:
 - 8017234: Hotspot should stop using mapfiles

Changes: https://git.openjdk.org/jdk/pull/17955/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17955&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8017234
  Stats: 990 lines in 32 files changed: 229 ins; 578 del; 183 mod
  Patch: https://git.openjdk.org/jdk/pull/17955.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17955/head:pull/17955

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

Reply via email to