Allen Wirfs-Brock (2013-09-24T16:10:49.000Z)
domenic at domenicdenicola.com (2013-10-01T20:33:40.140Z)
On Tue, Sep 24, 2013 at 7:23 AM, Tom Van Cutsem <tomvc.be at gmail.com> wrote: > Allen: would the removal of the hasOwn() trap imply that we can drop the [[HasOwnProperty]] internal method altogether? I look at the the opposite way -- we have an 'hasOwn' trap because be have a [[HasOwnProperty]] internal method ;-) I pretty sure we discussed this before and decided we wanted to keep [[HasOwnProperty]]. However, the only reason I can think of for doing so now is to avoid forcing exotic objects to allocated the property descriptors that [[GetOwnProperty]] produces. On Sep 24, 2013, at 8:13 AM, Jason Orendorff wrote: > I searched the spec. There are not very many places where > [[HasOwnProperty]] is used; each one can be replaced with a call to an > Abstract Operation defined like this: Right, an none of the places seem particularly performance sensitive. In particular, ordinary property lookup uses [[GetOwnProperty]] rather than [[HasOwnProperlty]] > This allows five or six sections defining [[HasOwnProperty]] > implementations to be deleted. It's a nice simplification. Yes, I'm a big fan of minimizing the number of MOP functions. However, I'm a bit uneasy that I can't recall specifically why it is still there. I'm pretty sure we've discussed this before.