// Complicated whitebox test for bug 487845. | |
function testGlobalShapeChangeAfterDeepBail() { | |
function f(name) { | |
this[name] = 1; // may change global shape | |
for (var i = 0; i < 4; i++) | |
; // MonitorLoopEdge eventually triggers assertion | |
} | |
// When i==3, deep-bail, then change global shape enough times to exhaust | |
// the array of GlobalStates. | |
var arr = [[], [], [], ["bug0", "bug1", "bug2", "bug3", "bug4"]]; | |
for (var i = 0; i < arr.length; i++) | |
arr[i].forEach(f); | |
} | |
testGlobalShapeChangeAfterDeepBail(); |