Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 function A(a) { this.a = a; }
2 A.prototype.foo = function (x) {};
3 function B(b) { this.b = b; }
4 B.prototype.foo = function (x) {};
5 function C(c) {}
6 function makeArray(n) {
7 var classes = [A, B, C];
8 var arr = [];
9 for (var i = 0; i < n; i++) {
10 arr.push(new classes[i % 3](i % 3));
11 }
12 return arr;
13 }
14 function runner(arr, resultArray, len) {
15 for (var i = 0; i < len; i++) {
16 var obj = arr[i];
17 resultArray[0] += obj.foo(i);
18 }
19 }
20 var resultArray = [0];
21 var arr = makeArray(30000);
22 C.prototype.foo = Uint8ClampedArray;
23 runner(arr, resultArray, 30000);