java.lang.invoke. Up until recently, the package has been
java.dyn, but we changed the name just before the JSR 292 Public Review.
To minimize test failures, we are using a multi-phase process for the API changes:
java.lang.invoke. This allows us to compile either version of JDK code for JSR 292.
java.lang.invoke. This allows us to run either version of JDK code for JSR 292.
java.lang.invoke. This is the JDK code for JSR 292. Here is a preview from mlvm.
java.dynreferences. Will also include rename support for
As the API slowly adjusts under the Public Review, there will be a few additional changes. Here are the ones which are planned or at least under consideration:
MethodHandle.invoke(the EG has decided on this one)
MethodHandles.asInstance(possible rename is
ConstantCallSite, other call sites,
ConstantCallSitesubclasses to self-bind (i.e., construct with an implicit
There have been very good discussions about JSR 292 on the mlvm-dev and jvm-languages mailing lists, as well as numerous comments from other sources. Since the Public Review, I have updated the working draft in the OpenJDK sources. You can see the current javadoc for JSR 292 via the JDK 7 download page. Here are the components to the JDK7 documentation:
ClassValueclass (a distant cousin to
We will continue to update the documentation during and shortly after the Public Review period. Please continue to experiment with the APIs and to share your experiences.
(Note to JDK7 port users: The link to the preview JAR for b136, in the first list above, allows you to run the current JSR 292 under the b135 JVM. This is a spin from the mlvm patch repository of just the JSR 292 classes. If you put it on your boot class path on a b135 JVM, and if you are daring and lucky, you can preview the b136 functionality. This may be useful if you have a b135-level JVM in one of the porting projects, such as the BSD port.)