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

C1: x86 cmove can use short branches

    XMLWordPrintable

Details

    • b14
    • x86

    Backports

      Description

        Spotted this minor inefficiency when looking at profiling code. C1 profiling code uses `cmove`-s often, and often with immediates, so `LIR_Assembler::cmove` ends up emitting the real jump over the alternative branch. But the alternative branch is just `{reg,stack,const}2reg` conversion, and it is guaranteed to be short. Therefore, we can use the short branch for that forward jump.

        Attachments

          Issue Links

            Activity

              People

                shade Aleksey Shipilev
                shade Aleksey Shipilev
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: