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

Escape analysis should split out unescaped obects as separate types

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 6
    • Fix Version/s: hs10
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b13
    • CPU:
      generic
    • OS:
      generic

      Backports

        Description

        Currently, escape analysis (EA) creates new types for unescaped objects and relies
        on the compiler's optimization mechanisms to propagate the new types throughout the
        IR nodes. However because the optimizer is using the type information to perform
        optimizations as the types are propagating, EA needs to be much too conservative
        about creating the new types in order to prevent incorrect optimizations caused
        by partially propagated inconsistent type information. The conservative type
        splitting also drastically reduces the possibility of completely eliminating the
        allocation of unescaped objects.

        A better solution would be for the EA pass to do the type propagation and graph
        modifications. This would significantly improve the optimizations possible because
        no other optimizations are being done and because EA accumulates information which
        improves the ability to do the type splitting.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  sdeversunw Steve Dever (Inactive)
                  Reporter:
                  sdeversunw Steve Dever (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: