mirror of https://github.com/tc39/test262.git
29 lines
605 B
JavaScript
29 lines
605 B
JavaScript
|
function assert(b) {
|
||
|
if (!b)
|
||
|
throw new Error("Bad")
|
||
|
}
|
||
|
noInline(assert);
|
||
|
|
||
|
function test(f, v, c, d) {
|
||
|
return f.bind(v, c, d);
|
||
|
}
|
||
|
|
||
|
function test2(f, v) {
|
||
|
return f.bind(v);
|
||
|
}
|
||
|
|
||
|
function foo(a,b,c,d,e,f) { return this; }
|
||
|
let thisValue = {};
|
||
|
let start = Date.now();
|
||
|
for (let i = 0; i < 1000000; i++) {
|
||
|
let f = test(foo, thisValue, 20, 30);
|
||
|
assert(f(foo, thisValue, 20, 30) === thisValue);
|
||
|
}
|
||
|
for (let i = 0; i < 1000000; i++) {
|
||
|
let f = test2(foo, thisValue);
|
||
|
assert(f(foo, thisValue, 20, 30) === thisValue);
|
||
|
}
|
||
|
const verbose = false;
|
||
|
if (verbose)
|
||
|
print(Date.now() - start);
|