On Jun 23, 2011, at 4:31 AM, Axel Rauschmayer wrote:

>> This is entirely beside the point.
>> 
>> Dynamic |super| as Sean proposes requires *every call site* to pass the 
>> |here| parameter or something derived from it, no way around that.
>> 
>> Paying for 'super' if you use it, buying by the yard, is not a problem.
>> 
>> Making *every function call* in the language slow, increasing register 
>> pressure, etc. -- absent aggressive inference to identify callees and 
>> specialize call sites to them (inlining VMs do this but it can backfire, so 
>> there will be a default case that can't do this) -- is a big problem.
> 
> I believe you about the dynamic super. I can summarize my question as follows:
> - Making "super" or "current object" available to a function incurs costs.

These are two separate costs. You didn't define which 'super' but from context 
I'll assume static. That's a function-creation-time internal property setting 
cost.

If by "current object" you mean |here|, please use that term for clarity's 
sake. That has a per-call cost: an extra implicit parameter. We've been over 
this about five times.


> - Making "current function" available to a function does not incur costs? 
> This is *not* an extra parameter, then?

Do you mean "current object", aka |here|?

If so, that's an extra parameter.

If not, I don't know what you mean.

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

Reply via email to