<p>This page tests for a crash when exceeding the limit on declared global variables.</p>
<p>If the test passes, you'll see a PASS message below.</p>

<pre id="console"></pre>

<script>
if (window.layoutTestController)
    layoutTestController.dumpAsText();

var pass = "PASS: Existing global var survived.\n";

document.write("<" + "script>");
for (var i = 0; i < 7 * 1024; ++i)
    document.write("var v" + i + ";\n");
document.write("<" + "/script>");

document.write("<" + "script>");
for (; i < 9 * 1024; ++i)
    document.write("var v" + i + ";\n");
    document.write("document.getElementById('console').appendChild(document.createTextNode(pass));");
document.write("<" + "/script>");
</script>
