Multiple globals and changing prototypes

Allen Wirfs-Brock allen at wirfs-brock.com
Wed Oct 16 08:23:46 PDT 2013


On Oct 16, 2013, at 7:25 AM, Mark S. Miller wrote:

> Keep in mind that if an object is non-extensible, its [[Prototype]] cannot be changed.

And objects that are implemented using a Proxy don't use their  [[Prototype]] slot (a Proxy they doesn't have one) or necessarily even their target's [[Prototype]] to perform lookup of inherited properties.  They can implement inheritance in come completely different manner and using any internal state they want. The only way I can imagine generalizing what you are describing is to call the [[SetPrototypeOf]] MOP operation on the object and even then there is no general guarantee that the request would be accepted or that it would do what you are imagining.

Allen



> 
> 
> On Wed, Oct 16, 2013 at 3:54 AM, Anne van Kesteren <annevk at annevk.nl> wrote:
> I believe last time this came up here some people hard concerns so I
> was wondering whether that was still the case and what alternatives
> there might be.
> 
> In https://www.w3.org/Bugs/Public/show_bug.cgi?id=20567 we're
> considering to define the behavior Gecko exhibits when moving a node
> between trees in different global objects.
> 
> Event handlers and custom elements make this somewhat more tricky and
> we're discussion how to work with them in the bug.
> 
> The reason we want to change prototypes is to reduce the potential for
> memory leaks and give consistent behavior across nodes in a tree. I.e.
> they'll always be from the same global.
> 
> (There's also the more complicated document.open() scenario, which we
> should discuss separately at some point I think, but for those trying
> to figure out how to define multiple realms in ECMAScript that's worth
> looking into.)
> 
> 
> --
> http://annevankesteren.nl/
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
> 
> 
> 
> -- 
>     Cheers,
>     --MarkM
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131016/e93e782b/attachment-0001.html>


More information about the es-discuss mailing list