<body>
<p>Test worker thread stack usage. Should not crash.</p>
<div id=result></div>
<script>
function log(message)
{
    document.getElementById("result").innerHTML += message + "<br>";
}

if (window.layoutTestController) {
    layoutTestController.dumpAsText();
    layoutTestController.waitUntilDone();
}

var worker = new Worker('resources/use-machine-stack.js');
worker.onmessage = function(evt) {
    log("PASS (" + evt.data + ")");
    if (window.layoutTestController)
        layoutTestController.notifyDone();
}
</script>
</body>
</html>
