testBug502914.js (542B)
1 function testBug502914() { 2 // Assigning a non-function to a function-valued property on trace should 3 // bump the shape. 4 function f1() {} 5 function C() {} 6 var x = C.prototype = {m: f1}; 7 x.m(); // brand scope 8 var arr = [new C, new C, new C, x]; 9 try { 10 for (var i = 0; i < 4; i++) { 11 arr[i].m = 12; 12 x.m(); // should throw last time through 13 } 14 } catch (exc) { 15 return exc.constructor.name; 16 } 17 return "no exception"; 18 } 19 assertEq(testBug502914(), "TypeError");