JDK-8139258 : PPC64LE: argument passing problem when passing 15 floats in native call
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: ppc
  • Submitted: 2015-10-09
  • Updated: 2016-10-24
  • Resolved: 2015-11-17
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 8 JDK 9 Other
8u101Fixed 9 b96Fixed openjdk7uFixed
It seems that the ABIv2 calling convention needs different treatment for float arguments. The following native call test passes 15 float parameters, but the native code doesn���t get them correctly.

Adding 15 times 1.0f resulted in 13.0f on a LE machine. The BE machine correctly returns 15.0f.

Here is a test to reproduce the issue:

I think this happened because George Triantafillou set the bug to "fix in 10". If I had known about this, I would have set it back to "fix in 9" before pushing. That probably would have avoided the second bug.

Something messed up and an unnecessary backport record was created for this issue.