Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8032886

Missing opportunity to detect low to high register pressure transition in a block

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P3
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: hotspot
    • Labels:

      Description

      In build_ifg_physical we compute a register pressure for each block with a corresponding low-to-high register pressure transition. That is the first transition from low to high pressure in a block (starting from the top).

      Stepping backwards, when lowering the pressure, when a definition is reached, we only subtract the pressure by one, and not by the number of regs that the definition is actually using (could be 2 because of longs and doubles). The following comparison might then miss to detect a transition:

      In Pressure::lower():
      ..
      _current_pressure -= lrg.reg_pressure();
      if (_current_pressure == _high_pressure_limit) {
        ..
      }
      ..



        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              adlertz Niclas Adlertz (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: