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

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Tue Sep 9 13:22:02 UTC 2014


>> 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?
Good catch, Paul. This assert should go with new bind implementation. 
Moved the assert & speciesData(LambdaForm) from this change to 8057042 
[1]. Updated webrev in place.

>   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.
Made the method package-private. It is also used in LambdaFormEditor ( 
see oldSpeciesData() [1]).

Best regards,
Vladimir Ivanov

[1] http://cr.openjdk.java.net/~vlivanov/8057042/webrev.00/

>
> Paul.
>
>
>> 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
>
>
>
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>


More information about the mlvm-dev mailing list