>>> * It deoptimizes, e.g. a strict-mode function must be optimized to copy >>> actual parameter values into arguments if it could use the arguments object. >> >> This one I just don't buy at all. In a strict function f, f.arguments >> is poisoned. f's arguments would only need to be reified if f >> statically mentions "arguments" or if f has a statically apparent use >> of the direct eval operator. For all other cases, no arguments object >> need be created, and therefore no copying is needed. > > Right, that's what I tried to say by "could use the arguments object". > Nothing to do with hated f.arguments. > > So every strict function that uses arguments pays a copying price on entry in > a naive implementation. Pushing the copies out till just before there might > be an aliasing store is an optimization that could be done in a more > sophisticated implementation, but engines don't do it currently and feel > little pressure to do so. Chicken and egg.
Can you explain? What is this copying price and why don’t non-strict functions have to pay it? Thanks! Axel -- Dr. Axel Rauschmayer [email protected] home: rauschma.de twitter: twitter.com/rauschma blog: 2ality.com
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

