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

BlockBegin::substitute_sux may produce incorrect CFG.

XMLWordPrintable

    • b89
    • sparc
    • solaris_9

      C1's IR maintains bidirectional edges in the CFG and various passes which manipulate those edges verify that they are kept up to date. There are a few CFG optimizations near the end of linear scan which don't verify the final CFG. Adding verification in the appropriate places showed that substitute_sux was updating the edges in the wrong order resulting in incorrect predecessors edges in some cases. It's just luck as far as I can tell that we haven't hit this with other CFG manipulations.

            never Tom Rodriguez
            never Tom Rodriguez
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: