Please review JDK-8035948 - Redesign property listeners for shared classes:

http://cr.openjdk.java.net/~hannesw/8035948/

This prepares property maps and property listeners to work better with classes that are reused between JS environments. The central ideas are:

 - Reuse property maps between globals in order to minimize polymorphism.
 - Use SoftReferences for property map history to avoid memory leaks
- Redesign property listeners to be attatched to property maps only since ScriptObjects are specific to one JS environment. - Reduce number of property listeners by only creating them when needed (when a callsite accesses an inherited property). - Reduce number of prototype history lookups in property maps by using a unique combination of prototype/property maps from the start.

Actual class sharing functionality is coming in a later webrev. Let me know if you have any questions about this.

Hannes

Reply via email to