JDK-8075779 : JSR 292 enhancements for maintenance releases
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.lang.invoke
  • Affected Version: 9
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2015-03-24
  • Updated: 2019-01-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Relates :  
Relates :  
Description
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:

  http://mail.openjdk.java.net/pipermail/mlvm-dev/2015-March/thread.html

(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
try/finally
loop
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