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 // |jit-test| slow;
3 load(libdir + "parallelarray-helpers.js");
5 function mergeSorted(l1, l2) {
6 var result = [];
7 var i1 = 0, i2 = 0, j = 0;
8 while (i1 < l1.length && i2 < l2.length) {
9 if (l1[i1] < l2[i2])
10 result[j++] = l1[i1++];
11 else
12 result[j++] = l2[i2++];
13 }
14 while (i1 < l1.length) {
15 result[j++] = l1[i1++];
16 }
17 while (i2 < l2.length) {
18 result[j++] = l2[i2++];
19 }
20 return result;
21 }
23 function test() {
24 var elts = [];
25 var ints = range(1, 5), c = 0;
27 // Using 2048 as the length of elts induces bailouts due to GC.
28 // This exposed various bugs.
29 for (var i = 0; i < 2048; i++)
30 elts[i] = ints;
32 var scanned1 = seq_scan(elts, mergeSorted);
33 var scanned2 = elts.scanPar(mergeSorted);
34 assertStructuralEq(scanned1, scanned2);
35 }
37 if (getBuildConfiguration().parallelJS)
38 test();