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

C2: Randomize IGVN worklist for stress testing

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 16
    • 16
    • hotspot
    • b18

      Bugs often depend on the order in which nodes are processed by IGVN. For example, IGVN worklist order depends on (incremental) inlining decisions that vary from compilation to compilation due to different profiling information which makes some bugs very hard to reproduce.

      Randomizing IGVN worklist access might help to trigger some bugs more often:
      - Node* n = _worklist.pop();
      + // Randomize access to worklist
      + int idx = (os::random() % _worklist.size());
      + Node* n = _worklist.remove(idx);

      I gave above code a quick try and executed tier1 - tier5: No new failures but it may still pay off to introduce this for stress testing.

            rcastanedalo Roberto Castaneda Lozano
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: