RFR: JDK-8210031: implementation for JVM Constants API
brian.goetz at oracle.com
Sat Oct 6 21:00:41 UTC 2018
What we decided to do here is to hold back on “implements Constable” for the symbolic descriptor classes in the initial push of JEP-334, and then when we have the symbolic expression mode for BSMs, re-implement those in XxxDesc using that. Implementing Constable isn’t needed until we get to the full constant folding anyway. That linearizes the dependencies — first JEP-334, then symbolic mode BSM, then update JEP-334 classes to implement Constable using symbolic mode BSM.
> On Sep 13, 2018, at 9:07 PM, John Rose <john.r.rose at oracle.com> wrote:
> I am running a review of VM-level work on bootstrap methods
> which can optionally help simplify some of these APIs:
> Specifically, this work can be use to implement a "symbolic
> expression mode" for BSMs which causes the JVM to unpack
> constant pool nodes directly as ConstantDesc items to present
> to BSMs. This might simplify the condy forms of ConstantDesc
> instances, if javac stores native constants to reflect, rather than
> lists of strings to reassemble.
> — John
> On Sep 11, 2018, at 12:50 PM, Vicente Romero <vicente.romero at oracle.com> wrote:
>> Please review the first iteration of the implementation for JEP-334  JVM Constants API. The implementation can be found at . JEP-334 introduces an API to model nominal descriptions of key class-file and run-time artifacts, in particular constants that are loadable from the constant pool and has already been the subject of several discussions. The implementation of this JEP has been publicly accessible throw the amber repo at  in the jep-334 branch. Thanks to all members of the Amber project and specially to Brian for all the hard work on the design and the implementation of this API. Thanks for all the feedback we have received so far, most of it has been integrated in the current implementation.
>>  http://openjdk.java.net/jeps/334
>>  http://cr.openjdk.java.net/~vromero/8210031/webrev.00/jdk.dev.patch
>>  http://hg.openjdk.java.net/amber/amber
More information about the amber-dev