<html>
<head>
<script>
function print(message) {
    var paragraph = document.createElement("p");
    paragraph.appendChild(document.createTextNode(message));
    document.getElementById("console").appendChild(paragraph);
}

function test() {
    if (window.testRunner) {
        testRunner.dumpAsText();
    }

    var method = "console.";
    for (var i = 0; i < 6000; i++)
        method += "a";
    method += "()";
    try {
        eval(method);
    }
    catch (e) {}
    
    print("success: no crash.");
}
</script>
</head>
<body onload="test();">
<p>This test checks for a regression against <i>rdar://problem/4370397 Missing return statement in JSMethodNameToObjcMethodName</i>.</p>
<p>If the test passes, you will see a "success" message below.</p>
<hr>
<div id='console'/>
</body>
</html>
