RFR: 8028739: javac generates incorrect descriptor for MethodHandle::invoke
Jonathan Gibbons
jonathan.gibbons at oracle.com
Fri Nov 22 14:30:00 PST 2013
Looks OK to me.
-- Jon
On 11/22/2013 01:52 PM, Robert Field wrote:
> Thanks Jon!
>
> Updated webrev:
>
> http://cr.openjdk.java.net/~rfield/8028739v2/
> <http://cr.openjdk.java.net/%7Erfield/8028739v2/>
>
>
> Again, the only change is to the isSignaturePolymorphic method:
>
> 2121 final boolean isSignaturePolymorphic() {
> 2122 return_tree.sym.kind == MTH_ &&
> 2123 types.isSignaturePolymorphic((MethodSymbol)tree.sym);
> 2124 }
>
>
> -Robert
>
>
> On 11/22/13 12:59, Jonathan Gibbons wrote:
>> Robert,
>>
>> In this code:
>>> 2121 final boolean isSignaturePolymorphic() {
>>> 2122 return tree.sym instanceof MethodSymbol &&
>>> 2123 types.isSignaturePolymorphic((MethodSymbol)tree.sym);
>>> 2124 }
>> it is not javac style to do instanceof like that -- the normal style is
>> to check the kind, as in
>> tree.sym.kind == MTH
>>
>> -- Jon
>>
>>
>>
>>
>> On 11/22/2013 10:31 AM, Robert Field wrote:
>>> Thanks John!
>>>
>>> Updated webrev:
>>>
>>> http://cr.openjdk.java.net/~rfield/8028739v1/
>>> <http://cr.openjdk.java.net/%7Erfield/8028739v1/>
>>>
>>> Only change is to use the pre-existing test for signature polymorphic:
>>>
>>> 2121 final boolean isSignaturePolymorphic() {
>>> 2122 return tree.sym instanceof MethodSymbol &&
>>> 2123 types.isSignaturePolymorphic((MethodSymbol)tree.sym);
>>> 2124 }
>>>
>>>
>>> -Robert
>>>
>>>
>>> On 11/21/13 22:55, John Rose wrote:
>>>> I think you will get a false positive on MethodHandle.invokeWithArguments.
>>>>
>>>> There are more precise tests for sig. polymorphism. It must be native final; the code should check for that.
>>>>
>>>> -- John (on my iPhone)
>>>>
>>>> On Nov 21, 2013, at 8:21 PM, Robert Field <robert.field at oracle.com> wrote:
>>>>
>>>>> Please review fix for:
>>>>>
>>>>> https://bugs.openjdk.java.net/browse/JDK-8028739
>>>>>
>>>>> Webrev:
>>>>>
>>>>> http://cr.openjdk.java.net/~rfield/8028739v0/
>>>>> <http://cr.openjdk.java.net/%7Erfield/8028739v0/>
>>>>>
>>>>> Thank you,
>>>>> Robert
>>>>>
>>>>>
>
More information about the lambda-dev
mailing list