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

Aleksey Shipilev shade at openjdk.java.net
Tue Nov 24 13:35:18 UTC 2020


On Tue, 24 Nov 2020 13:21:08 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:

>> 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.
>
> Jorn Vernee has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Remove JNI_ENTRY_CPP_NOENV
>  - - Move reset_last_Java_frame

This looks fine to me. PIty to see `CATCH` on the exception recovery path, but that seems okay for the incubating code.

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

Marked as reviewed by shade (Reviewer).

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


More information about the core-libs-dev mailing list