[9] RFR (S): 8057657: Annotate LambdaForm parameters with types

Paul Sandoz paul.sandoz at oracle.com
Tue Sep 9 12:12:38 UTC 2014

On Sep 5, 2014, at 12:12 PM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:

> http://cr.openjdk.java.net/~vlivanov/8057657/webrev.00/
> https://bugs.openjdk.java.net/browse/JDK-8057657

- BoundMethodHandle

  57         assert(speciesData() == speciesData(form));

I am missing some context here as to how that assert would pass for anything other than Species_L, namely for sub-classes of BoundMethodHandle generated by generateConcreteBMHClass how does that assert return true?

 153     public static SpeciesData speciesData(LambdaForm form) {

Minor point. Could be private (since only used by the assert in the constructor), or package private if the intention is for it to be used by other j.l.i classes in the future.


> Add ability to annotate LambdaForm parameters with their types.
> Type info could be useful during LambdaForm compilation to produce better bytecode.
> Testing: jdk/java/lang/invoke, jdk/java/util/streams, nashorn, octane w/ "-ea -esa" and COMPILE_THRESHOLD={0,30}.
> Reviewed-by: vlivanov, ?
> Contributed-by: john.r.rose at oracle.com
> Thanks!
> Best regards,
> Vladimir Ivanov

More information about the core-libs-dev mailing list