1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/basic/testGlobalShapeChangeAfterDeepBail.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,15 @@ 1.4 +// Complicated whitebox test for bug 487845. 1.5 +function testGlobalShapeChangeAfterDeepBail() { 1.6 + function f(name) { 1.7 + this[name] = 1; // may change global shape 1.8 + for (var i = 0; i < 4; i++) 1.9 + ; // MonitorLoopEdge eventually triggers assertion 1.10 + } 1.11 + 1.12 + // When i==3, deep-bail, then change global shape enough times to exhaust 1.13 + // the array of GlobalStates. 1.14 + var arr = [[], [], [], ["bug0", "bug1", "bug2", "bug3", "bug4"]]; 1.15 + for (var i = 0; i < arr.length; i++) 1.16 + arr[i].forEach(f); 1.17 +} 1.18 +testGlobalShapeChangeAfterDeepBail();