Source code
Revision control
Copy as Markdown
Other Tools
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();