RFR: 8256486: Linux/Windows-x86 builds broken after JDK-8254231

Jorn Vernee jvernee at openjdk.java.net
Mon Nov 23 13:12:08 UTC 2020


JDK-8254231 breaks the Linux and Windows x86 (32-bit) builds. This contains the needed changes to get it working again.

Perhaps the most interesting change is adding the `JNI_ENTRY_CPP_NOENV` macro. Using just JNI_ENTRY was causing a linkage failure, due to the declaration of the function in the class not having the same linkage specifiers. It looks like we can't just specify C linkage for class member functions.

However, in this case C linkage is not required, so I've added the new macro which doesn't have `extern "C"`. I've also dropped the `JNIEnv*` parameter, since it was not being used, but causing extra work for the caller.

Other than that, it's just about adding default definitions for missing functions, and moving around some code in MacroAssembler to be in the correct `#ifdef` blocks.

Testing: `make images` on Linux and Windows x86_32 platforms.

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

Commit messages:
 - Remove UnsupportedPlatform test
 - Remove unneeded cast
 - Remove Stuff that makes the jdk_foreign tests pass
 - fix test warnings
 - - Fix 32-bit build errors and tests

Changes: https://git.openjdk.java.net/jdk/pull/1266/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1266&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8256486
  Stats: 95 lines in 11 files changed: 55 ins; 26 del; 14 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1266.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1266/head:pull/1266

PR: https://git.openjdk.java.net/jdk/pull/1266


More information about the hotspot-runtime-dev mailing list