[foreign] RFR 8225034: java/foreign/LongDoubleTest.java fails on Mac OS

Jorn Vernee jbvernee at xs4all.nl
Thu May 30 12:28:02 UTC 2019


Hi,

After strengthening the access checking for Pointer::addr(), the 
LongDoubleTest is failing. The problem is that UniversalUpcallHandler 
creates a READ only pointer, which References::OfLongDouble then tries 
to unbox using addr(), but this requires READ_WRITE access.

To solve this I'm letting References::OfLongDouble do manual access 
checking for read/write only and use an unchecked version of addr(), 
which is then used to get/set the value. LongDoubleTest is disabled on 
Windows, so I've also added a LongDoubleBinderTest that just tests the 
binder part on all platforms.

Bug: https://bugs.openjdk.java.net/browse/JDK-8225034
Webrev: 
http://cr.openjdk.java.net/~jvernee/panama/webrevs/8225034/webrev.00/

This also fixes a minor hickup which prevents compilation in AArch64ABI, 
which still expected the old signature of addr().

Thanks,
Jorn


More information about the panama-dev mailing list