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
Description
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:
http://cr.openjdk.java.net/~goetz/webrevs/ppc64le_native_float_arg_test/

Comments
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.
18-11-2015

Something messed up and an unnecessary backport record was created for this issue.
18-11-2015