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