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

Remove sun.invoke.anon classes, or move / co-locate them with tests

    Details

    • Subcomponent:
    • Resolved In Build:
      b103
    • Verification:
      Not verified

      Backports

        Description

        The classes in sun.invoke.anon are only used by some hotspot tests, and appears to be old code and we suspect it could be removed or moved to test location to be run on the bootclasspath.

        Also see: JDK-8081444 & JDK-6990182

          Issue Links

            Activity

            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk9/hs-rt/jdk/rev/1de1a321ea87
            User: mhaupt
            Date: 2015-12-10 19:55:54 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/hs-rt/jdk/rev/1de1a321ea87 User: mhaupt Date: 2015-12-10 19:55:54 +0000
            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/1de1a321ea87
            User: lana
            Date: 2016-01-27 21:42:04 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/1de1a321ea87 User: lana Date: 2016-01-27 21:42:04 +0000
            Hide
            mhaupt Michael Haupt added a comment -
            An exhaustive search on Maven central has not revealed any usage of these internal APIs.
            Show
            mhaupt Michael Haupt added a comment - An exhaustive search on Maven central has not revealed any usage of these internal APIs.
            Hide
            forax Rémi Forax added a comment -
            It was an artifact of how to implement method handles a long time ago, before the jdk7 first implementation (which itself predate the lambda form implementation).
            The idea was to be able to create one bytecode template for a function (a method handle atom) and reuse it with different signatures.
            This implementation was never really used because while it's possible to patch instructions like getfield and invoke*, it's not possible to patch instructions like aload/iload.
            That's why in the valhalla workspace there is a new bytecode name typed, but that's another story.
            Show
            forax Rémi Forax added a comment - It was an artifact of how to implement method handles a long time ago, before the jdk7 first implementation (which itself predate the lambda form implementation). The idea was to be able to create one bytecode template for a function (a method handle atom) and reuse it with different signatures. This implementation was never really used because while it's possible to patch instructions like getfield and invoke*, it's not possible to patch instructions like aload/iload. That's why in the valhalla workspace there is a new bytecode name typed, but that's another story.

              People

              • Assignee:
                mhaupt Michael Haupt
                Reporter:
                jeff Jeff Dinkins
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: