RFR: 8071368 Use more concrete types for NamedFunction constants in the code
shilpi rastogi
shilpi.rastogi at oracle.com
Wed Feb 10 07:01:16 UTC 2016
Gentle Reminder!
>
> On 2/5/2016 9:18 PM, Vladimir Ivanov wrote:
>> Proposed fix looks good.
>>
>> Quoting John: "The use of erased types (any ref => Object) in the MH
>> runtime is an artifact of bootstrapping difficulties, early in the
>> project. I hope it is not necessary any more."
>>
>> Best regards,
>> Vladimir Ivanov
>>
>> On 2/5/16 4:29 PM, Paul Sandoz wrote:
>>> Hi Shilpi,
>>>
>>> In principle this change is ok, however these methods are kind of
>>> special because they are called by code generated from LambdaForms
>>> with erased types.
>>>
>>> IIUC the casts can serve as belts-and-braces checks just in case
>>> that generated code passes something that is not of the correct
>>> type. By removing the casts it’s possible to erroneously pass in
>>> something of another type that the runtime treats erroneously as if
>>> a MethodHandle or MethodType, and then strange things happen. The
>>> casts will ordinary be removed by the runtime compiler. By removing
>>> them from the Java code it might slightly improve C2 compilation time.
>>>
>>> Approval from Vladimir/John would be good.
>>>
>>> Paul.
>>>
>>>> On 4 Feb 2016, at 13:16, shilpi rastogi <shilpi.rastogi at oracle.com>
>>>> wrote:
>>>>
>>>> Hi All,
>>>>
>>>> Please review the following-
>>>>
>>>> https://bugs.openjdk.java.net/browse/JDK-8071368
>>>> http://cr.openjdk.java.net/~srastogi/8071368/webrev.02/
>>>>
>>>> Thanks,
>>>> Shilpi
>>>
>
More information about the core-libs-dev
mailing list