David Bruant (2013-09-13T07:41:23.000Z)
domenic at domenicdenicola.com (2013-09-25T01:46:03.580Z)
Le 13/09/2013 09:19, Tom Van Cutsem a écrit : > True, but by removing the invariant check on getPrototypeOf, a > membrane proxy can now avoid the cost of actually storing the wrapped > prototype on the shadow target until the real target becomes > observably non-extensible (which may never occur). > > More generally, membranes always need to be set-up with shadow > targets, but they don't actually need to use them until the real > target has some invariants. If one wants Object.getPrototypeOf to return the same object twice, the membrane has to associate a new prototype with a given object. If there is a shadow target, the place of where to store this object is pretty obvious ([[Prototype]]). That said, the good property that remains is that if a prototype setting capability has been kept around is that prototype chains can be built lazily.