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

compiler ignores lookupswitch and tableswitch branch profile numbers

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Not an Issue
    • Affects Version/s: 9, 10
    • Fix Version/s: 11
    • Component/s: hotspot
    • Labels:

      Description

      Parse::jump_switch_ranges takes a set of switch-range data derived from lookupswitch and tableswitch bytecodes, and generates a decision tree and/or jump tables for the switch.

      It should also accept MethodData branch profile information (if available) and apply that profile information appropriately. At least it should use the data in each call to jump_if_true_fork to push an estimated branch frequency into the IfNode, as Parse::do_if does. Better yet, it should use frequency data (when uneven) to balance the decision tree, so that, along each likely trace, each test-and-branch produces as much of a bit of information as possible.

      Note that low-tier code *produces* branch frequency information; this bug says that high-tier code does not *use* it.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                dlong Dean Long
                Reporter:
                jrose John Rose
              • Votes:
                1 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: