JDK-8252362 : C2: Remove no-op checking for callee-saved-floats
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 16
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-08-26
  • Updated: 2020-09-03
  • Resolved: 2020-08-27
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 b14Fixed
Related Reports
Relates :  
In C2Compiler::init_c2_runtime, there is a block:

  // Check that runtime and architecture description agree on callee-saved-floats
  bool callee_saved_floats = false;
  for( OptoReg::Name i=OptoReg::Name(0); i<OptoReg::Name(_last_Mach_Reg); i = OptoReg::add(i,1) ) {
    // Is there a callee-saved float or double?
    if( register_save_policy[i] == 'E' /* callee-saved */ &&
       (register_save_type[i] == Op_RegF || register_save_type[i] == Op_RegD) ) {
      callee_saved_floats = true;

Yet, it does not do anything, because callee_saved_floats is unused.

It seems to be this way since the initial load.

URL: https://hg.openjdk.java.net/jdk/jdk/rev/e6073515b1d2 User: shade Date: 2020-08-27 04:34:47 +0000

Vladimir Ivanov says: "The code was added as part of JDK-6527187, but it was useless from the very beginning."

RFR: https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-August/039711.html