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

compiler ignores lookupswitch and tableswitch branch profile numbers

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Not an Issue
    • Icon: P4 P4
    • 11
    • 9, 10
    • hotspot

      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.

            dlong Dean Long
            jrose John Rose
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: