osr-large-stack-frame.js (533B)
1 // Creates a huge stack frame and uses OSR. See bug 1839669. 2 function f() { 3 var varinits = []; 4 var varnames = []; 5 for (var i = 0; i < 19553; i++) { 6 var varname = `x${i}`; 7 varnames.push(varname); 8 varinits.push(`${varname} = ${i}`); 9 } 10 var source = "var " + varinits.join(",") + ";\n"; 11 source += "for (var i = 0; i < 100; i++) {}\n"; 12 source += "return " + varnames.join("+") + ";"; 13 14 var g = new Function(source); 15 assertEq(g(), 191150128); 16 assertEq(g(), 191150128); 17 } 18 f();