Review request for JDK-8139931: Introduce Operation objects in Dynalink instead of string encoding
Attila Szegedi
attila.szegedi at oracle.com
Wed Oct 21 12:21:47 UTC 2015
> On Oct 21, 2015, at 1:13 PM, Sundararajan Athijegannathan <sundararajan.athijegannathan at oracle.com> wrote:
>
> Using enums instead of Strings makes much better reading! Nice!
Thanks!
>
> * File: NamedOperation.java
>
> doc comment: gettng -> getting
Fixed.
>
> * File: AbstractJavaLinker.java
>
> + List<Operation> operations = Arrays.asList(
>
> final missing?
No, it’s reassigned in the loop below.
>
> +1
>
> -Sundar
>
> On 10/21/2015 4:18 PM, Attila Szegedi wrote:
>> Here’s an updated webrev, please review: <http://cr.openjdk.java.net/~attila/8139931/webrev.jdk9.01>
>>
>> I removed CompositeOperation.contains and containsAny operations and in Nashorn replaced their use with a new NashornCallSiteDescriptor.getFirstStandardOperation method; this allowed us to go back to using switch statement everywhere in linker logic where we were able to use it earlier, resulting in smaller diff and overall nicer code.
>>
>> Also, following a discussion with Hannes, we now enforce in CompositeOperation constructor that no components can themselves be either a CompositeOperation or a NamedOperation, and we enforce in NamedOperation that its base operation can’t itself be a NamedOperation.
>>
>> Thanks,
>> Attila.
>>
>>> On Oct 20, 2015, at 12:29 PM, Sundararajan Athijegannathan <sundararajan.athijegannathan at oracle.com> wrote:
>>>
>>> +1 with changes.
>>>
>>> On final modifier: nothing specific comes to mind. We can leave it non-final...
>>>
>>> -Sundar
>>>
>>> On 10/20/2015 3:09 PM, Attila Szegedi wrote:
>>>>> On Oct 20, 2015, at 10:52 AM, Sundararajan Athijegannathan <sundararajan.athijegannathan at oracle.com> wrote:
>>>>>
>>>>> * StandardOperation.java is missing copyright.
>>>>>
>>>>> * NamedOperation.java is missing copyright.
>>>>>
>>>>> * CompositeOperation.java is missing copyright.
>>>> Indeed; added copyrights.
>>>>
>>>>> * Can CompositeOperation be final?
>>>> Well, it’s hard to see why would someone want to subclass it, but I also don’t really see why someone shouldn’t be able to do it, to maybe add some language-specific information and still have it be recognized externally as CompositeOperation. (Same reasoning goes for NamedOperation, I guess). Do you have an rationale for making it final?
>>>>
>>>>> * Unrelated ArrayData change? Unused method?
>>>> Yes. I was following a change in the parameter type from String to Operation and stumbled upon it.
>>>>
>>>>> * NashornCallSiteDescriptor may have explanation as to why 18 bits are sufficient for "program point" [now that flag bits are used for encoding operation enums as well]
>>>> I agree, I added an explanation.
>>>>
>>>>> That's all I could find...
>>>>>
>>>>> +1
>>>>>
>>>>> -Sundar
>>>>>
>>>>> On 10/20/2015 1:41 PM, Attila Szegedi wrote:
>>>>>> Please review JDK-8139931 "Introduce Operation objects in Dynalink instead of string encoding" at <http://cr.openjdk.java.net/~attila/8139931/webrev.jdk9> for <https://bugs.openjdk.java.net/browse/JDK-8139931>
>>>>>>
>>>>>> This is admittedly a big one. It is also the last in the pipeline of the internal Dynalink cleanups, so we’ve reached the end of that!
>>>>>>
>>>>>> Thanks,
>>>>>> Attila.
>
More information about the nashorn-dev
mailing list