On Sep 19, 2013, at 8:05 AM, Brendan Eich wrote: >> Tom Van Cutsem <mailto:[email protected]> >> September 19, 2013 9:53 AM >> 2013/9/19 Allen Wirfs-Brock <[email protected] >> <mailto:[email protected]>> >> >> I really don't think we need to debate this much longer. We just >> need to stay the course with [[Invoke]] and I can update the spec. >> to replace [[Get]]+[[Invoke]] rather than [[Get]]+[[Call]] for >> this conditional situations. I may also added add a note >> suggesting that the extra [[Get]] can be eliminated. >> >> >> Refactoring [[Get]]+[[Call]] to [[Get]]+[[Invoke]] seems fine by me. It >> better expresses the intent, and the change should only be observable to >> proxies. > > Is this so? Wouldn't an ordinary object with a getter be able to observe the > two lookups? Indeed wouldn't the spec require this?
Yes, the two lookups are observable via a getter. I mentioned that in a comment when I should how the ToPrimitive 'valueOf' invocation might be optimized. However, my argument was that [[Get]]+[[Invoke]] better reflects the abstract intent and that intent implicitly includes two lookup. I think this difference (from ES<=5.1) is unlikely to be significance for the few specific existing cases where this occurs in the spec. Allen _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

