description( | |
"Regression test for https://webkit.org/b/140579. This test should run without crashing." | |
); | |
function Test(maxCount) | |
{ | |
this.dummy = eval("0"); | |
this.isString = function(v) { | |
return (typeof v == "string" || v instanceof String); | |
}; | |
this.test = function() | |
{ | |
var count = eval("0"); | |
var s = "abc"; | |
for (var i = 0; i < maxCount; i++) { | |
if (i == 4500) { | |
s = new String("xyz"); // Cause a BadType OSR exit in isString() | |
eval("var x = 3;"); // Fire var injection watchpoint | |
} | |
if (this.isString(s)) | |
count++; | |
} | |
return count; | |
}; | |
} | |
o = new Test(5000); | |
shouldBeTrue("o.test() == 5000"); | |