testSetElem-NewProto.js (414B)
1 // vim: set ts=8 sts=4 et sw=4 tw=99: 2 3 function f() { 4 return [[], [], [], []]; 5 } 6 7 function setelem(obj, key, val) { 8 obj[key] = val; 9 } 10 11 // Generate IC 12 setelem([], 0, "hi"); 13 setelem([], 0, "hi"); 14 15 var arrays = f(); 16 17 var evil = { }; 18 Object.defineProperty(evil, "1", { set: function (v) { this.ham = v; } }); 19 Array.prototype.__proto__ = evil; 20 21 var k = arrays[0]; 22 setelem(k, 1, "yam"); 23 assertEq(k.ham, "yam");