On Jun 17, 2014, at 5:22 PM, Allen Wirfs-Brock wrote:

> 
> On Jun 17, 2014, at 4:44 PM, Brendan Eich wrote:
> 
>> ... especially since I missed the hideous Number special-casing spread 
>> around in the draft!
> 
> could you be a bit more specific about what you are referring to?

Never mind, I think I know what you mean.  You mean, the already initialized 
checks which fall out of objects having distinct allocation and initialization 
functions.  Those checks only occur in functions that directly access private 
internal state of built-in oibjects.

Such methods typically have a prologue that look something like this:

        • 1.    Let M be the this value.
        • 2.    If Type(M) is not Object, then throw a TypeError exception.
        • 3.    If M does not have a [[MapData]] internal slot throw a 
TypeError exception.
        • 4.    If M’s [[MapData]] internal slot is undefined, then throw a 
TypeError exception.

The fourth step could probably be eliminated under Jason's proposal, the other 
would still be needed.  One of the things we need to explore is whether we 
loose would loose any important subclass flexibility by tightly couple 
allocation and initialization again.  The 'super' must be first issue is at the 
forefront of that question. 

Allen




_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to