blob: 6f8b55c7c63befbf3c69e8a9d8c265f5e204a7bb [file] [log] [blame]
function foo(o, p) {
possiblyDoBadThings(p);
return o.f();
}
noInline(foo);
function Thingy() { }
Thingy.prototype.f = function() { return 42; }
function possiblyDoBadThings(p) {
if (p)
Thingy.prototype.f = function() { return 24; }
}
noInline(possiblyDoBadThings);
for (var i = 0; i < 100000; ++i) {
var result = foo(new Thingy(), false);
if (result != 42)
throw "Error: bad result: " + result;
}
var result = foo(new Thingy(), true);
if (result != 24)
throw "Error: bad result: " + result;