Review request for JDK-8019157 - Avoid calling ScriptObject.setProto() if possible

Jim Laskey (Oracle) james.laskey at oracle.com
Wed Jun 26 04:12:41 PDT 2013


+1

On 2013-06-26, at 6:44 AM, Hannes Wallnoefer <hannes.wallnoefer at oracle.com> wrote:

> Please review JDK-8019157 - Avoid calling ScriptObject.setProto() if possible:
> 
> http://cr.openjdk.java.net/~hannesw/8019157/
> 
> Bug description pasted below for your convenience.
> 
> Calling ScriptObject.setProto() is quite expensive. One expensive part is invalidating the object's property map, which involves a WeakHashMap lookup in PropertyMap.checkProtoHistory().
> 
> Invaliding the property map is necessary if the property map may be in use with other prototypes. However, many built-in objects including arrays (in fact all built-ins except for Object) are always constructed with the same combination of prototype and property map.
> 
> In this case we can significantly improve object creation overhead by providing a way to directly set both prototype and property map.
> 
> Thanks,
> Hannes



More information about the nashorn-dev mailing list