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

C2: extend the scope of StressGCM

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: P4 P4
    • tbd
    • 16
    • hotspot

      Currently, in PhaseCFG::hoist_to_cheaper_block(), StressGCM follows the GCM heuristic when the candidate block has strictly better frequency and only only randomizes tie-breaking among equally frequent blocks:

      if (LCA_freq < least_freq || // Better Frequency
          (StressGCM && C->randomized_select(cand_cnt)) || // Should be randomly accepted in stress mode
          ...

      The randomization scope can be significantly extended by allowing GCM to move instructions to blocks with worse frequency at random:

      if ((StressGCM && C->randomized_select(cand_cnt)) || // Should be randomly accepted in stress mode
          (!StressGCM && LCA_freq < least_freq) || // Better Frequency
          ...

      This would improve StressGCM's ability to expose bugs where C2 relies on GCM heuristics for correctness.

            Unassigned Unassigned
            rcastanedalo Roberto Castaneda Lozano
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: