[Harmony Proxies] Proposal: Property fixing

Mark S. Miller erights at google.com
Thu Jun 16 16:32:22 PDT 2011


On Thu, Jun 16, 2011 at 4:30 PM, Brendan Eich <brendan at mozilla.com> wrote:

> On Jun 16, 2011, at 4:27 PM, Mark S. Miller wrote:
>
> On Thu, Jun 16, 2011 at 4:23 PM, Brendan Eich <brendan at mozilla.com> wrote:
>
>> On Jun 16, 2011, at 4:14 PM, Mark S. Miller wrote:
>>
>> On Thu, Jun 16, 2011 at 4:05 PM, Brendan Eich <brendan at mozilla.com>wrote:
>>
>>> There is a second reason, mentioned recently: we are implementing the DOM
>>> on top of proxies, and the current WebIDL spec has non-configurable
>>> properties induced in its normative ES bindings from the IDL syntax. We want
>>> to match the spec.
>>>
>>
>> Perhaps the WebIDL spec should be revised in exactly the same we we're
>> currently talking about revised arrays?
>>
>>
>> It's in Last Call, so time is short. Also, implementations do matter, and
>> non-configurable is valued by implementations that want to optimize by
>> assuming the slot in the object won't go away. If we make Array length,
>> NodeList length, etc. be configurable, we implementors will need some
>> *other* hidden attribute.
>>
>
> There is already internal special case handling for every property that
> needs to be magical. So having non-delete-ability be part of this special
> case handling would seem natural. From your
>
> > Bonus, I think this will simplify things in our implementation of Array
> length vs. the ES5 Object.* APIs.
>
> it might even be net more natural than the current situation.
>
>
> My "Bonus" remark was *only* about Array length. For a great number of
> non-configurable properties (e.g. global vars in ES5 implementations, not
> created by eval), we JIT authors need a general attribute to consult. We
> aren't hardcoding, as we do for Array length (all the fast VMs optimize
> a.length expressions in the dense array, or any array, case).
>

Can we gather a list of all magical host properties that WebIDL says are
currently non-configurable but that proxies can't emulate unless they are
made configurable?


-- 
    Cheers,
    --MarkM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20110616/2dc692b2/attachment.html>


More information about the es-discuss mailing list