Review request for JDK-8019157 - Avoid calling ScriptObject.setProto() if possible
Hannes Wallnoefer
hannes.wallnoefer at oracle.com
Wed Jun 26 02:44:41 PDT 2013
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