JDK-8161085 : PreserveFPRegistersTest fails with 'AssertionError: Final value has changed'
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • CPU: generic
  • Submitted: 2016-07-08
  • Updated: 2016-10-13
  • Resolved: 2016-09-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 9
9 b140Fixed
Related Reports
Relates :  
Description
RULE "compiler/gcbarriers/PreserveFPRegistersTest.java" Exception java.lang.AssertionError: Final value has changed: NaN != ...
Comments
SPARC fix: http://cr.openjdk.java.net/~thartmann/8161085/webrev.00/
20-09-2016

Looks like the same issue as JDK-8148175, we don't save all registers before calling into the VM: __ mov(tmp2, L0); __ mov(tmp3, L1); __ mov(tmp4, L2); __ call_VM_leaf(L7_thread_cache, CAST_FROM_FN_PTR(address, DirtyCardQueueSet::handle_zero_index_for_thread), G2_thread); __ mov(L0, tmp2); __ mov(L1, tmp3); __ mov(L2, tmp4);
19-08-2016

Seems to be another C1 issue. I can reproduce the bug with -XX:TieredStopAtLevel=1.
19-08-2016

Able to reproduce on Solaris SPARC.
19-08-2016