blob: fc5f09349b89653537e7e038396bc9260188aa19 [file] [log] [blame]
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
// This tests that we do not constantly OSR on instanceof where the RHS is a bound function.
// While this bound functions are unlikely to be passed to instanceof often C-API users use
// the same method of overriding instanceof expressions.
function Constructor(x) {
this.x = x;
}
Constructor.prototype = {}
BoundConstructor = Constructor.bind();
foo = new Constructor(1);
bar = new BoundConstructor(1);
i = 0;
function test()
{
if (!(foo instanceof BoundConstructor)) {
throw new Error("foo should be an instanceof BoundConstructor");
}
let j = 0;
for (;j < 1000; j++) {}
return j;
}
noInline(test);
for (i = 0; i < 50000; i++)
test();