blob: c828f749763a92c359b5aa7d6a987cf7b8e7b3a3 [file] [log] [blame]
function assert(b) {
if (!b)
throw new Error("Bad")
}
noInline(assert);
function test(f, v, c, d) {
return f.bind(v, c, d);
}
noInline(test);
function test2(f, v) {
return f.bind(v);
}
noInline(test);
function foo(a,b,c,d,e,f) { return this; }
let thisValue = {};
let start = Date.now();
{
let f = test(foo, thisValue, 20, 30);
for (let i = 0; i < 1000000; i++) {
assert(f(foo, thisValue, 20, 30) === thisValue);
}
}
{
let f = test2(foo, thisValue);
for (let i = 0; i < 1000000; i++) {
assert(f(foo, thisValue, 20, 30) === thisValue);
}
}
const verbose = false;
if (verbose)
print(Date.now() - start);