JDK-8255349 : Vector API issues on Big Endian
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 16
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-10-23
  • Updated: 2024-02-21
  • Resolved: 2020-10-26
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 16
16 b22Fixed
Related Reports
Relates :  
Description
Several jdk/incubator/vector tests are failing with stack overflow due to endless recursion on Big Endian platforms. E.g. Int64VectorLoadStoreTests:
        at jdk.incubator.vector/jdk.incubator.vector.IntVector.maybeSwap(IntVector.java:3330)
        at jdk.incubator.vector/jdk.incubator.vector.IntVector.intoByteBuffer(IntVector.java:3151)
        at jdk.incubator.vector/jdk.incubator.vector.AbstractVector.defaultReinterpret(AbstractVector.java:505)
        at java.base/jdk.internal.vm.vector.VectorSupport.convert(VectorSupport.java:441)
        at jdk.incubator.vector/jdk.incubator.vector.AbstractVector.convert0(AbstractVector.java:686)
        at jdk.incubator.vector/jdk.incubator.vector.AbstractVector.asVectorRawTemplate(AbstractVector.java:173)
        at jdk.incubator.vector/jdk.incubator.vector.AbstractVector.asByteVectorRawTemplate(AbstractVector.java:179)
        at jdk.incubator.vector/jdk.incubator.vector.Int64Vector.asByteVectorRaw(Int64Vector.java:177)
        at jdk.incubator.vector/jdk.incubator.vector.Int64Vector.asByteVectorRaw(Int64Vector.java:41)
        at jdk.incubator.vector/jdk.incubator.vector.IntVector.reinterpretAsBytes(IntVector.java:3366)
        at jdk.incubator.vector/jdk.incubator.vector.IntVector.maybeSwap(IntVector.java:3330)
Endianess in defaultReinterpret is currently hard coded and not checked.

In addition, VectorReshapeTests.java is failing due to incorrect size conversion for Big Endian in the test code (castByteArrayData).
Comments
Changeset: 9b5a2a6b Author: Martin Doerr <mdoerr@openjdk.org> Date: 2020-10-26 15:29:51 +0000 URL: https://git.openjdk.java.net/jdk/commit/9b5a2a6b
26-10-2020