Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
michael@0 | 1 | load(libdir + "parallelarray-helpers.js"); |
michael@0 | 2 | |
michael@0 | 3 | function testClosureCreationAndInvocation() { |
michael@0 | 4 | var a = range(0, 64); |
michael@0 | 5 | function makeaddv(v) { |
michael@0 | 6 | var u = v - 1; |
michael@0 | 7 | var t = v - 2; |
michael@0 | 8 | var s = v - 3; |
michael@0 | 9 | var r = v - 4; |
michael@0 | 10 | var q = v - 5; |
michael@0 | 11 | var p = v - 6; |
michael@0 | 12 | var o = v - 7; |
michael@0 | 13 | var n = v - 8; |
michael@0 | 14 | var m = v - 9; |
michael@0 | 15 | var l = v - 10; |
michael@0 | 16 | var k = v - 11; |
michael@0 | 17 | var j = v - 12; |
michael@0 | 18 | var i = v - 13; |
michael@0 | 19 | var h = v - 14; |
michael@0 | 20 | var g = v - 15; |
michael@0 | 21 | var f = v - 16; |
michael@0 | 22 | var e = v - 17; |
michael@0 | 23 | var d = v - 18; |
michael@0 | 24 | var c = v - 19; |
michael@0 | 25 | var b = v - 20; |
michael@0 | 26 | var a = v - 21; |
michael@0 | 27 | return function (x) { |
michael@0 | 28 | switch (x) { |
michael@0 | 29 | case 0: return a; case 1: return b; |
michael@0 | 30 | case 2: return c; case 3: return d; |
michael@0 | 31 | case 4: return e; case 5: return f; |
michael@0 | 32 | case 6: return g; case 7: return h; |
michael@0 | 33 | case 8: return i; case 9: return j; |
michael@0 | 34 | case 10: return k; case 11: return l; |
michael@0 | 35 | case 12: return m; case 13: return n; |
michael@0 | 36 | case 14: return o; case 15: return p; |
michael@0 | 37 | case 16: return q; case 17: return r; |
michael@0 | 38 | case 18: return s; case 19: return t; |
michael@0 | 39 | case 20: return u; |
michael@0 | 40 | } |
michael@0 | 41 | }; |
michael@0 | 42 | }; |
michael@0 | 43 | var m = a.mapPar(makeaddv); |
michael@0 | 44 | assertEq(m[21](1), 1); // v == 21; x == 1 ==> inner function returns b == 1 |
michael@0 | 45 | } |
michael@0 | 46 | |
michael@0 | 47 | if (getBuildConfiguration().parallelJS) |
michael@0 | 48 | testClosureCreationAndInvocation(); |