JDK-8237521 : Memory Access API fixes for 32-bit
  • Type: Bug
  • Component: core-libs
  • Affected Version: 15
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: x86,arm
  • Submitted: 2020-01-20
  • Updated: 2020-09-24
  • Resolved: 2020-01-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 15
15 b09Fixed
Related Reports
Relates :  
Relates :  
Description
Two issues:

The MAX_ALIGN constant in Utils.java should be 8 on 32-bit systems not 16.

Unsafe::allocateMemory, which is called by Utils::makeNativeSegment, should fail if the aligned-up size overflows a size_t. This happens if passing size (long)Integer.MAX_VALUE * 2 on a 32-bit system.

Once these are fixed we can remove the test workarounds in JDK-8236634.
Comments
Changeset: 987ba9f3 Author: Nick Gasson <ngasson@openjdk.org> Date: 2020-01-24 17:41:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/987ba9f3
07-02-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/41f1e738b639 User: mcimadamore Date: 2020-01-30 15:53:30 +0000
30-01-2020

Review thread: https://mail.openjdk.java.net/pipermail/core-libs-dev/2020-January/064476.html
22-01-2020