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

JSR 292 enhancements for maintenance releases


    • Type: Enhancement
    • Status: Open
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: 9
    • Fix Version/s: tbd_feature
    • Component/s: core-libs
    • Labels:


      This RFE is a consolidated list of proposed incremental improvements to JSR 292, to be part of a maintenance release (JDK 9, etc.).

      Many of these items have been discussed on the mlvm-dev list here:


      (See topics "what can we improve" and "simple PIC".)

      In the list below, items marked "?" do not seem well-defined enough to create prototypes.

      # Combinators
      spreadArguments (array in mid-list)
      ? collectArguments (array in mid-list)
      ? foldArguments (in mid-list)

      # Lookups
      findSpecial on interface (non-dispatched link to interface super)
      findClass (does all access checks, including for modules)
      ? findSuperConstructor (must produce a MH with tight restrictions on use!)

      # Call sites
      ? PIC mechanism (mlvm-dev proposals are in flux)
      ? extensible/profiling GWT (can mutate self to add more cases, usually at the end)

      # Cleanups
      better sharing/caching for asType transforms
      consolidate sharing/caching logic onto LF Editor, get rid of other ad hoc mechanisms
      DMH caching tune-ups (Duncan McGregor)
      cache MemberNames on java.lang.Class (David Chase)

      # Reflection (these are hard)
      ? ad hoc cracking of GWTs or other transforms
      ? implementation-specific inspection API (Charlie)

      # Language (these are nearly impossible)
      ? constant folding of MH factory expressions (to CONSTANT_MethodHandle)
      ? target typing of Foo::bar expressions (to... pick your poison)
      ? direct coding of invokedynamic from Java

        Issue Links


          There are no comments yet on this issue.


            • Assignee:
              jrose John Rose
              jrose John Rose
            • Votes:
              0 Vote for this issue
              3 Start watching this issue


              • Created: