36 lines
732 B
JavaScript
36 lines
732 B
JavaScript
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");
|
|
|