[lworld] RFR: JDK-8247663: [lworld] LambdaMetaFactory should allow an inline value projection type to convert to its reference projection type [v2]

Mandy Chung mchung at openjdk.java.net
Wed Jul 8 20:26:57 UTC 2020


On Wed, 8 Jul 2020 18:21:43 GMT, Roger Riggs <rriggs at openjdk.org> wrote:

>> Mandy Chung has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
>> excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since
>> the last revision:
>>  - Merge
>>  - revision per Roger's feedback
>>  - lambda metafactory supports inline widening/narrowing
>
> src/java.base/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java line 402:
> 
>> 401:         }
>> 402:
>> 403:         if (!fromType.isInlineClass() && !toType.isInlineClass()) {
> 
> Since fromType.valueType is an Optional<Class<?>> the code could be rearranged to use is Present() and not double check
> for inline so many times. If it is a performance issue it should be refactored to do the complete check of one case
> before the other.

I simplified the check.  I also uncovered a bug in the spec for `Class::valueType` and `Class::referenceType` and
included a spec fix in this patch.

-------------

PR: https://git.openjdk.java.net/valhalla/pull/102


More information about the valhalla-dev mailing list