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

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

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Won't Fix
    • P3
    • None
    • None
    • hotspot

    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

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

            Dates

              Created:
              Updated:
              Resolved: