Re: evaluation order and the [[Invoke]] MOP operation

2013-08-27 Thread Tom Van Cutsem
(Pardon the late reply. Catching up.) I'd also go with option 1 (accept that [[Invoke]] changes visible order of side-effects). Option 2 pollutes the simple interface of [[Invoke]] for compatibility with edge-cases, which, as MarkM points out, are not fully web-compatible anyway. The symmetric

evaluation order and the [[Invoke]] MOP operation

2013-08-19 Thread Allen Wirfs-Brock
See Bug 1593 In ES5, an expression such as: obj.m(arg) is visibly evaluated in this order: 1. thisValue - evaluate(obj) 2.f - thisValue.[[Get]](m); 2.apossible visible side-effets of getting property m 3.arg1 - evaluate(arg) 3.a possible visible side-effects of

Re: evaluation order and the [[Invoke]] MOP operation

2013-08-19 Thread Brandon Benvie
On 8/19/2013 9:33 AM, Allen Wirfs-Brock wrote: thisObj.[[Invoke]](propertyKey, function, argumentList) This could allow [[Invoke]] to trap `call` and `apply`, if propertyKey was allowed to be undefined. ___ es-discuss mailing list

Re: evaluation order and the [[Invoke]] MOP operation

2013-08-19 Thread Allen Wirfs-Brock
On Aug 19, 2013, at 9:39 AM, Brandon Benvie wrote: On 8/19/2013 9:33 AM, Allen Wirfs-Brock wrote: thisObj.[[Invoke]](propertyKey, function, argumentList) This could allow [[Invoke]] to trap `call` and `apply`, if propertyKey was allowed to be undefined. I don't really want to get us off

Re: evaluation order and the [[Invoke]] MOP operation

2013-08-19 Thread Mark S. Miller
More data about whether changing this would break anything: I reported https://code.google.com/p/v8/issues/detail?id=691 in May 2010. It remains open -- probably because it has caused few actual problems. On Mon, Aug 19, 2013 at 10:44 AM, Allen Wirfs-Brock al...@wirfs-brock.comwrote: On Aug

Re: evaluation order and the [[Invoke]] MOP operation

2013-08-19 Thread Mark S. Miller
And because it remains open, whereas FF, Safari, and old Opera followed ES5, the cross-browser web must be compatible with either decision. On Mon, Aug 19, 2013 at 11:15 AM, Mark S. Miller erig...@google.com wrote: More data about whether changing this would break anything: I reported