Rewrite Function.bind as a builtin
[WebKit.git] / LayoutTests / js / regress / script-tests / function-bind.js
1 function foo(a,b) {
2     return a ^ b + arguments.length;
3 }
4
5 var g0 = foo.bind({});
6 var g1 = foo.bind({}, 1);
7 var g2 = foo.bind({}, 1, 2);
8 var g3 = foo.bind({}, 1, 2, 3);
9 var start = new Date;
10
11 var result = 0;
12 for (var i = 0; i < 100000; ++i) {
13     result *= 3;
14     result += g0(i, result);
15     result += g1();
16     result += g1(i);
17     result += g1(i, result);
18     result += g2();
19     result += g2(i);
20     result += g2(i, result);
21     result += g3();
22     result += g3(i);
23     result += g3(i, result);
24     result |= 0;
25 }
26 print((new Date - start))
27 if (result != 1596499010)
28     throw "Bad result: " + result;