haikuwebkit/LayoutTests/js/script-tests/dfg-call-method-hit-watchpo...

34 lines
575 B
JavaScript

description(
"Tests correctness of method calls when the prototype is changed."
);
function Thingy() {
}
Thingy.prototype = {
foo: function() {
return 42;
}
};
function callFoo(o) {
return o.foo();
}
var o = new Thingy();
silentTestPass = true;
noInline(callFoo);
for (var i = 0; i < 200; i = dfgIncrement({f:callFoo, i:i + 1, n:100})) {
if (i == 150)
Thingy.prototype.foo = function() { return 56; }
var expected;
if (i < 150)
expected = 42;
else
expected = 56;
shouldBe("callFoo(o)", "" + expected);
}