RFR 8117883: nasgen prototype, instance member count calculation is wrong

A. Sundararajan sundararajan.athijegannathan at oracle.com
Mon Jun 22 09:34:58 UTC 2015


Hi Ahmed,

This is not a problem. When there are no properties, property count is 
zero now (previously miscalculated!). Where there are zero properties, 
no need to create a new PropertyMap - PropertyMap in ScriptFunctionImpl 
can be reused for such cases and hence you see the variant without 
PropertyMap being invoked (as it should be).

-Sundar

On Sunday 21 June 2015 03:11 PM, Ahmed Ashour wrote:
> Hi Sundar,
> I am not sure if this is an issue or not, but with manual applying of the patch to the jdk8u master, the constructor is not correctly calling the super class, now it is missing the PropertyMap parameter.
> Since the patch was against jdk9, I wan't able to copy/paste it into my working environment.
> I hope this is my mistake, but I am sending just in case it affects others.
> Currently:
>
>    jdk.nashorn.internal.objects.NativeFunction$Constructor();
>      Code:       0: aload_0       1: ldc           #8                  // String Function       3: ldc           #15                 // MethodHandle invokestatic jdk/nashorn/internal/objects/NativeFunction.function:(ZLjava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;       5: aconst_null       6: invokespecial #18                 // Method jdk/nashorn/internal/objects/ScriptFunctionImpl."<init>":(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;[Ljdk/nashorn/internal/runtime/Specialization;)V        Previously it was:      jdk.nashorn.internal.objects.NativeFunction$Constructor();    Code:       0: aload_0       1: ldc           #24                 // String Function       3: ldc           #31                 // MethodHandle invokestatic jdk/nashorn/internal/objects/NativeFunction.function:(ZLjava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;       5: getstatic     #22                 // Field $nasgenmap$:Ljdk/nashorn/internal/runtime/PropertyMap;       8: aconst_null       9: invokespecial #34                 // Method jdk/nashorn/internal/objects/ScriptFunctionImpl."<init>":(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/PropertyMap;[Ljdk/nashorn/internal/runtime/Specialization;)V
> Thanks,Ahmed
>        From: A. Sundararajan <sundararajan.athijegannathan at oracle.com>
>   To: nashorn-dev at openjdk.java.net
>   Sent: Thursday, June 18, 2015 2:57 PM
>   Subject: Re: RFR 8117883: nasgen prototype, instance member count calculation is wrong
>     
> Hi,
>
> Please review updated review
> http://cr.openjdk.java.net/~sundar/8117883/webrev.01/
>
> PS. Fixed for what Ahmed found in his previous email as well as cleanup
> other things (like not adding CONSTRUCTOR, SPECIALIZED_FUNCTION
> (constructor) as members for Constructor class) etc.
>
> Thanks,
> -Sundar
>
>
>
> On Thursday 18 June 2015 11:57 AM, Ahmed Ashour wrote:
>> Hi Sundar,
>> PropertyGenerator is ok, but ConstructorGenerator still has the issue.
>> For example:
>> NativeArray:
>>      static {      ArrayList list = new ArrayList(7);      list.add(AccessorProperty.create("isArray", 2, "G$isArray", "S$isArray"));      $nasgenmap$ = PropertyMap.newMap(list);  }
>> because ScriptClassInfo.getConstructorMemberCount() returns also Kind.CONSTRUCTOR and .SPECIALIZED_FUNCTION, which are not 'added'.
>> Thanks a lot,Ahmed      From: Ahmed Ashour <asashour at yahoo.com>
>>    To: A. Sundararajan <sundararajan.athijegannathan at oracle.com>; "nashorn-dev at openjdk.java.net" <nashorn-dev at openjdk.java.net>
>>    Sent: Wednesday, June 17, 2015 9:41 PM
>>    Subject: Re: RFR 8117883: nasgen prototype, instance member count calculation is wrong
>>      
>> Hi Sundar,
>> Works great, thanks for the quick response.
>> I don't fully understand the removal of ScriptObject.isGenericDescriptor
>> I guess users are not allowed to be created in bugs.openjdk.java.net.
>> Thanks again,Ahmed
>>
>>        From: A. Sundararajan <sundararajan.athijegannathan at oracle.com>
>>    To: "nashorn-dev at openjdk.java.net" <nashorn-dev at openjdk.java.net>
>>    Sent: Wednesday, June 17, 2015 7:20 PM
>>    Subject: RFR 8117883: nasgen prototype, instance member count calculation is wrong
>>      
>> Please review http://cr.openjdk.java.net/~sundar/8117883/ for
>> https://bugs.openjdk.java.net/browse/JDK-8117883
>>
>> Thanks,
>> -Sundar
>>
>>
>>      
>>
>>      
>
>
>    




More information about the nashorn-dev mailing list