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

Missing instruction optimizations in server compiler

XMLWordPrintable

    • generic
    • generic

      Recent work on intrinsics and type checking has uncovered missing
      ideal and machine-specific optimizations. None are by themselves
      major, but as a group they contribute to extra instructions in hot
      code. Fixing them will also make our system more uniform and easy to
      maintain, since some fixes reconcile some near-duplications between
      similar blocks of code.

      Partial list:
      - simple memory independence checks are missing
      - cast nodes sometimes obscure value equivalence
      - parser sometimes misses cmp node transformations
      - I2L conversions sometimes obscure range information
      - there are too many different kinds of cast nodes
      - missing bit-test simplifications: x&~0=x, etc.
      - missing algebraic simplifications: x^x=0, x|x=x, etc.
      - div/mod 32/64 optimizations have conflicting designs
      - when classifying unsafe addresses, assume nulls are uncommon
      - internal range checks should value-number with user-written checks
      - SPARC set64 instruction is sub-optimal

            jrose John Rose
            jrose John Rose
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: