Bug 853067 - Do not define the parallel array global in beta, release, or esr builds (yet) r=sfink

This commit is contained in:
Nicholas D. Matsakis 2013-03-20 15:42:56 -04:00
Родитель bf5a29ed83
Коммит 97635a6419
128 изменённых файлов: 229 добавлений и 135 удалений

Просмотреть файл

@ -216,6 +216,7 @@ EXPORTS_js = \
#
ifeq (,$(filter beta release esr,$(MOZ_UPDATE_CHANNEL)))
DEFINES += -DENABLE_TYPEDARRAY_MOVE
DEFINES += -DENABLE_PARALLEL_JS
endif
ifdef ENABLE_TRACE_LOGGING

Просмотреть файл

@ -177,6 +177,14 @@ GetBuildConfiguration(JSContext *cx, unsigned argc, jsval *vp)
if (!JS_SetProperty(cx, info, "methodjit", &value))
return false;
#ifdef ENABLE_PARALLEL_JS
value = BooleanValue(true);
#else
value = BooleanValue(false);
#endif
if (!JS_SetProperty(cx, info, "parallelJS", &value))
return false;
*vp = ObjectValue(*info);
return true;
}

Просмотреть файл

@ -29,4 +29,5 @@ function buildSimple() {
});
}
buildSimple();
if (getBuildConfiguration().parallelJS)
buildSimple();

Просмотреть файл

@ -17,5 +17,6 @@ function testMap() {
});
}
testMap();
if (getBuildConfiguration().parallelJS)
testMap();

Просмотреть файл

@ -19,5 +19,6 @@ function testMap() {
});
}
testMap();
if (getBuildConfiguration().parallelJS)
testMap();

Просмотреть файл

@ -10,4 +10,5 @@ function buildSimple() {
}
buildSimple();
if (getBuildConfiguration().parallelJS)
buildSimple();

Просмотреть файл

@ -31,5 +31,6 @@ function testMap() {
}
}
testMap();
if (getBuildConfiguration().parallelJS)
testMap();

Просмотреть файл

@ -19,4 +19,5 @@ function test() {
assertStructuralEq(pa1, array1);
}
test();
if (getBuildConfiguration().parallelJS)
test();

Просмотреть файл

@ -13,4 +13,5 @@ function makeObject(e, i, c) {
return v;
}
compareAgainstArray(range(0, 512), "map", makeObject);
if (getBuildConfiguration().parallelJS)
compareAgainstArray(range(0, 512), "map", makeObject);

Просмотреть файл

@ -3,4 +3,5 @@ function bug783924() {
Function("ParallelArray([])")();
}
bug783924();
if (getBuildConfiguration().parallelJS)
bug783924();

Просмотреть файл

@ -9,4 +9,8 @@ function testCopyBigArray() {
var p = new ParallelArray(a);
}
}
testCopyBigArray();
if (getBuildConfiguration().parallelJS)
testCopyBigArray();
else
throw new TypeError();

Просмотреть файл

@ -9,4 +9,5 @@ function testClosureCreation() {
assertEq(m.get(1)(2), 3); // (\x.x+1) 2 == 3
}
testClosureCreation();
if (getBuildConfiguration().parallelJS)
testClosureCreation();

Просмотреть файл

@ -8,4 +8,5 @@ function testClosureCreation() {
assertEq(m.get(1)(2), 3); // (\x.x+1) 2 == 3
}
testClosureCreation();
if (getBuildConfiguration().parallelJS)
testClosureCreation();

Просмотреть файл

@ -9,4 +9,5 @@ function testClosureCreationAndInvocation() {
assertEq(m.get(1), 3); // (\x.x+1) 2 == 3
}
testClosureCreationAndInvocation();
if (getBuildConfiguration().parallelJS)
testClosureCreationAndInvocation();

Просмотреть файл

@ -9,4 +9,5 @@ function testClosureCreationAndInvocation() {
assertEq(m.get(2)(2), 5); // (\x.x+v){v=3} 2 == 5
}
testClosureCreationAndInvocation();
if (getBuildConfiguration().parallelJS)
testClosureCreationAndInvocation();

Просмотреть файл

@ -34,4 +34,5 @@ function testClosureCreationAndInvocation() {
assertEq(m.get(20)(1)[2], 20);
}
testClosureCreationAndInvocation();
if (getBuildConfiguration().parallelJS)
testClosureCreationAndInvocation();

Просмотреть файл

@ -45,4 +45,5 @@ function testClosureCreationAndInvocation() {
assertEq(m.get(21)(1), 1); // v == 21; x == 1 ==> inner function returns b == 1
}
testClosureCreationAndInvocation();
if (getBuildConfiguration().parallelJS)
testClosureCreationAndInvocation();

Просмотреть файл

@ -45,4 +45,5 @@ function testClosureCreationAndInvocation() {
assertEq(m.get(21)(1), 20); // v == 21; x == 1 ==> inner function returns b == 20
}
testClosureCreationAndInvocation();
if (getBuildConfiguration().parallelJS)
testClosureCreationAndInvocation();

Просмотреть файл

@ -50,4 +50,5 @@ function testClosureCreationAndInvocation() {
assertEq(n.get(21)(1), 21); // v == 21
}
testClosureCreationAndInvocation();
if (getBuildConfiguration().parallelJS)
testClosureCreationAndInvocation();

Просмотреть файл

@ -1,6 +1,7 @@
load(libdir + "parallelarray-helpers.js");
compareAgainstArray(["a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p",
"q", "r", "s", "t", "u", "v", "w", "x",
"y", "z"], "map", function(e) { return e == "u" || e == "x"; });
if (getBuildConfiguration().parallelJS)
compareAgainstArray(["a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p",
"q", "r", "s", "t", "u", "v", "w", "x",
"y", "z"], "map", function(e) { return e == "u" || e == "x"; });

Просмотреть файл

@ -1,6 +1,7 @@
load(libdir + "parallelarray-helpers.js");
compareAgainstArray(["a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p",
"q", "r", "s", "t", "u", "v", "w", "x",
"y", "z"], "map", function(e) { return e != "u" && e != "x"; });
if (getBuildConfiguration().parallelJS)
compareAgainstArray(["a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p",
"q", "r", "s", "t", "u", "v", "w", "x",
"y", "z"], "map", function(e) { return e != "u" && e != "x"; });

Просмотреть файл

@ -7,4 +7,5 @@ function buildComprehension() {
assertEqParallelArray(p, a);
}
buildComprehension();
if (getBuildConfiguration().parallelJS)
buildComprehension();

Просмотреть файл

@ -9,4 +9,5 @@ function buildMultidim() {
assertEqParallelArray(p, a);
}
buildMultidim();
if (getBuildConfiguration().parallelJS)
buildMultidim();

Просмотреть файл

@ -12,4 +12,5 @@ function buildComprehension() {
}
}
buildComprehension();
if (getBuildConfiguration().parallelJS)
buildComprehension();

Просмотреть файл

@ -16,4 +16,5 @@ function buildComprehension() {
}
}
buildComprehension();
if (getBuildConfiguration().parallelJS)
buildComprehension();

Просмотреть файл

@ -13,4 +13,5 @@ function test() {
}
}
test();
if (getBuildConfiguration().parallelJS)
test();

Просмотреть файл

@ -18,4 +18,5 @@ function buildComprehension() {
assertEqParallelArray(p, p2);
}
buildComprehension();
if (getBuildConfiguration().parallelJS)
buildComprehension();

Просмотреть файл

@ -23,4 +23,5 @@ function buildComprehension() {
}
// FIXME(bug 844887) throw correct exception
// buildComprehension();
// if (getBuildConfiguration().parallelJS)
// buildComprehension();

Просмотреть файл

@ -11,4 +11,5 @@ function buildSimple() {
assertEqParallelArrayArray(p, a2);
}
buildSimple();
if (getBuildConfiguration().parallelJS)
buildSimple();

Просмотреть файл

@ -11,4 +11,5 @@ function buildWithHoles() {
}
// FIXME(bug 844882) self-hosted object not array-like, exposes internal properties
// buildWithHoles();
// if (getBuildConfiguration().parallelJS)
// buildWithHoles();

Просмотреть файл

@ -10,4 +10,5 @@ function buildArrayLike() {
assertEq(p.toString(), e);
}
buildArrayLike();
if (getBuildConfiguration().parallelJS)
buildArrayLike();

Просмотреть файл

@ -12,4 +12,5 @@ function buildPA() {
}
// FIXME(bug 844882) self-hosted object not array-like, exposes internal properties
// buildPA();
// if (getBuildConfiguration().parallelJS)
// buildPA();

Просмотреть файл

@ -14,4 +14,5 @@ function testCopyBigArray() {
}
}
testCopyBigArray();
if (getBuildConfiguration().parallelJS)
testCopyBigArray();

Просмотреть файл

@ -6,4 +6,5 @@ function testThrows() {
}, RangeError);
}
testThrows();
if (getBuildConfiguration().parallelJS)
testThrows();

Просмотреть файл

@ -10,4 +10,5 @@ function testElement() {
assertEq(p.get(42), undefined);
}
testElement();
if (getBuildConfiguration().parallelJS)
testElement();

Просмотреть файл

@ -22,4 +22,5 @@ function testElement() {
assertEqParallelArray(pp2.get(0), new ParallelArray());
}
testElement();
if (getBuildConfiguration().parallelJS)
testElement();

Просмотреть файл

@ -8,4 +8,5 @@ function testElement() {
}
// FIXME(bug 844882) self-hosted object not array-like, exposes internal properties
// testElement();
// if (getBuildConfiguration().parallelJS)
// testElement();

Просмотреть файл

@ -5,4 +5,5 @@ function testEnumerate() {
}
// FIXME(bug 844882) self-hosted object not array-like, exposes internal properties
// testEnumerate();
// if (getBuildConfiguration().parallelJS)
// testEnumerate();

Просмотреть файл

@ -1,2 +1,3 @@
load(libdir + "parallelarray-helpers.js");
testFilter(range(0, 1024), function() { return true; });
if (getBuildConfiguration().parallelJS)
testFilter(range(0, 1024), function() { return true; });

Просмотреть файл

@ -1,5 +1,5 @@
load(libdir + "parallelarray-helpers.js");
testFilter(range(0, 1024), function(e, i) {
return (i % 3) != 0;
});
if (getBuildConfiguration().parallelJS)
testFilter(range(0, 1024), function(e, i) {
return (i % 3) != 0;
});

Просмотреть файл

@ -3,4 +3,5 @@ load(libdir + "parallelarray-helpers.js");
// since we divide things into chunks of 32, and filter uses some
// bitsets, test that all that logic works fine if the number of items
// is not evenly divisible by 32:
testFilter(range(0, 617), function(i) { return (i % 2) == 0; });
if (getBuildConfiguration().parallelJS)
testFilter(range(0, 617), function(i) { return (i % 2) == 0; });

Просмотреть файл

@ -1,2 +1,3 @@
load(libdir + "parallelarray-helpers.js");
testFilter(range(0, 1024), function() { return false; });
if (getBuildConfiguration().parallelJS)
testFilter(range(0, 1024), function() { return false; });

Просмотреть файл

@ -15,4 +15,5 @@ function testFilterMisc() {
testFilter(range(0, 1024), truthy);
}
testFilterMisc();
if (getBuildConfiguration().parallelJS)
testFilterMisc();

Просмотреть файл

@ -1,2 +1,3 @@
load(libdir + "parallelarray-helpers.js");
testFilter(range(0, 1024), function(i) { return i <= 1 || i >= 1022; });
if (getBuildConfiguration().parallelJS)
testFilter(range(0, 1024), function(i) { return i <= 1 || i >= 1022; });

Просмотреть файл

@ -10,4 +10,5 @@ function testFlatten() {
}
}
testFlatten();
if (getBuildConfiguration().parallelJS)
testFlatten();

Просмотреть файл

@ -6,4 +6,5 @@ function testFlatten() {
assertEqParallelArray(p.flatten(), p2);
}
testFlatten();
if (getBuildConfiguration().parallelJS)
testFlatten();

Просмотреть файл

@ -21,4 +21,5 @@ function testFlatten() {
}
// FIXME(bug 844991) logical shape not implemented
// testFlatten();
// if (getBuildConfiguration().parallelJS)
// testFlatten();

Просмотреть файл

@ -6,4 +6,7 @@ function testFlattenFlat() {
var f = p.flatten();
}
testFlattenFlat();
if (getBuildConfiguration().parallelJS)
testFlattenFlat();
else
throw new Error();

Просмотреть файл

@ -5,4 +5,5 @@ function testGet() {
assertEq(p.get(i), a[i]);
}
testGet();
if (getBuildConfiguration().parallelJS)
testGet();

Просмотреть файл

@ -10,4 +10,5 @@ function testGet() {
assertEq(p.get(5,5), undefined);
}
testGet();
if (getBuildConfiguration().parallelJS)
testGet();

Просмотреть файл

@ -5,4 +5,5 @@ function testGetNoCraziness() {
assertEq(p.get(42), undefined);
}
testGetNoCraziness();
if (getBuildConfiguration().parallelJS)
testGetNoCraziness();

Просмотреть файл

@ -3,4 +3,5 @@ function testGetBounds() {
assertEq(p.get(42), undefined);
}
testGetBounds();
if (getBuildConfiguration().parallelJS)
testGetBounds();

Просмотреть файл

@ -10,4 +10,5 @@ function testGet() {
}
// FIXME(bug 844991) logical shape not implemented
// testGet();
// if (getBuildConfiguration().parallelJS)
// testGet();

Просмотреть файл

@ -27,4 +27,5 @@ function testHoles() {
assertEq(g * 42, NaN);
}
testHoles();
if (getBuildConfiguration().parallelJS)
testHoles();

Просмотреть файл

@ -21,4 +21,5 @@ function testElement() {
}
// FIXME(bug 844882) self-hosted object not array-like, exposes internal properties
// testElement();
// if (getBuildConfiguration().parallelJS)
// testElement();

Просмотреть файл

@ -5,4 +5,5 @@ function test() {
assertEq(p.get(i), i);
}
test();
if (getBuildConfiguration().parallelJS)
test();

Просмотреть файл

@ -14,4 +14,5 @@ function test() {
}
}
test();
if (getBuildConfiguration().parallelJS)
test();

Просмотреть файл

@ -21,4 +21,5 @@ function test() {
}
}
test();
if (getBuildConfiguration().parallelJS)
test();

Просмотреть файл

@ -23,4 +23,5 @@ function test() {
}
}
test();
if (getBuildConfiguration().parallelJS)
test();

Просмотреть файл

@ -8,4 +8,5 @@ function testLength() {
assertEq(p.length, a.length);
}
testLength();
if (getBuildConfiguration().parallelJS)
testLength();

Просмотреть файл

@ -9,4 +9,5 @@ function testLength() {
}
}
testLength();
if (getBuildConfiguration().parallelJS)
testLength();

Просмотреть файл

@ -7,4 +7,5 @@ function testLength() {
}
// FIXME(bug 844988) immutability not enforced
// testLength();
// if (getBuildConfiguration().parallelJS)
// testLength();

Просмотреть файл

@ -43,7 +43,8 @@ var rows = 4;
var cols = 4;
// check that we get correct result
assertParallelArrayModesEq(["seq", "par"], computeSequentially(), function(m) {
r = new ParallelArray([rows, cols], computeSetByRow);
return r.flatten();
});
if (getBuildConfiguration().parallelJS)
assertParallelArrayModesEq(["seq", "par"], computeSequentially(), function(m) {
r = new ParallelArray([rows, cols], computeSetByRow);
return r.flatten();
});

Просмотреть файл

@ -5,5 +5,5 @@ function testMap() {
assertEq(m.get(0), (1 << 30) * 4);
}
testMap();
if (getBuildConfiguration().parallelJS) testMap();

Просмотреть файл

@ -8,5 +8,5 @@ function testMap() {
assertEqParallelArray(m, p2);
}
testMap();
if (getBuildConfiguration().parallelJS) testMap();

Просмотреть файл

@ -9,4 +9,4 @@ function testMap() {
});
}
testMap();
if (getBuildConfiguration().parallelJS) testMap();

Просмотреть файл

@ -6,4 +6,4 @@ function factorial(n) {
return n * factorial(n - 1);
}
compareAgainstArray(range(0, 64), "map", factorial);
if (getBuildConfiguration().parallelJS) compareAgainstArray(range(0, 64), "map", factorial);

Просмотреть файл

@ -15,5 +15,5 @@ function testMap() {
});
}
testMap();
if (getBuildConfiguration().parallelJS) testMap();

Просмотреть файл

@ -1,3 +1,3 @@
load(libdir + "parallelarray-helpers.js");
compareAgainstArray(range(0, 512), "map", function(e) { return e+1; });
if (getBuildConfiguration().parallelJS) compareAgainstArray(range(0, 512), "map", function(e) { return e+1; });

Просмотреть файл

@ -12,5 +12,8 @@ function testMap() {
assertEqParallelArray(m, new ParallelArray(range(1, 64)));
}
testMap();
if (getBuildConfiguration().parallelJS)
testMap();
else
throw new Error();

Просмотреть файл

@ -14,4 +14,4 @@ function test() {
}
}
test();
if (getBuildConfiguration().parallelJS) test();

Просмотреть файл

@ -6,4 +6,4 @@ function wrapInObject(v) {
return obj;
}
compareAgainstArray(range(0, 64), "map", wrapInObject);
if (getBuildConfiguration().parallelJS) compareAgainstArray(range(0, 64), "map", wrapInObject);

Просмотреть файл

@ -8,4 +8,4 @@ function test() {
compareAgainstArray(range(1, 3), "map", makeadd1);
}
test();
if (getBuildConfiguration().parallelJS) test();

Просмотреть файл

@ -5,5 +5,8 @@ function testMap() {
var m = p.map(42);
}
testMap();
if (getBuildConfiguration().parallelJS)
testMap();
else
throw new TypeError();

Просмотреть файл

@ -17,4 +17,4 @@ function test() {
function sum(a, b) { return a+b; }
}
test();
if (getBuildConfiguration().parallelJS) test();

Просмотреть файл

@ -9,4 +9,4 @@ function testOverflow() {
}, RangeError);
}
testOverflow();
if (getBuildConfiguration().parallelJS) testOverflow();

Просмотреть файл

@ -0,0 +1,2 @@
if (!getBuildConfiguration().parallelJS)
assertEq(typeof ParallelArray, "undefined");

Просмотреть файл

@ -12,4 +12,4 @@ function testPartition() {
assertEq(ppp.toString(), "<<1,2>,<3,4>>,<<5,6>,<7,8>>");
}
testPartition();
if (getBuildConfiguration().parallelJS) testPartition();

Просмотреть файл

@ -7,4 +7,4 @@ function testPartitionDivisible() {
assertThrowsInstanceOf(function () { pp = p.partition(.34); }, Error);
}
testPartitionDivisible();
if (getBuildConfiguration().parallelJS) testPartitionDivisible();

Просмотреть файл

@ -28,4 +28,4 @@ function testReduce() {
assertStructuralEq(parResult, seqResult);
}
testReduce();
if (getBuildConfiguration().parallelJS) testReduce();

Просмотреть файл

@ -12,4 +12,4 @@ function testReduce() {
assertEq(r >= 1 && r <= N, true);
}
testReduce();
if (getBuildConfiguration().parallelJS) testReduce();

Просмотреть файл

@ -11,4 +11,4 @@ function testReduce() {
}
}
testReduce();
if (getBuildConfiguration().parallelJS) testReduce();

Просмотреть файл

@ -6,4 +6,4 @@ function testReduceOne() {
assertEq(r, 1);
}
testReduceOne();
if (getBuildConfiguration().parallelJS) testReduceOne();

Просмотреть файл

@ -23,4 +23,4 @@ function testReduce() {
assertAlmostEq(actual, expected);
}
testReduce();
if (getBuildConfiguration().parallelJS) testReduce();

Просмотреть файл

@ -19,4 +19,4 @@ function testReduce() {
// });
}
testReduce();
if (getBuildConfiguration().parallelJS) testReduce();

Просмотреть файл

@ -5,4 +5,4 @@ function testReduce() {
compareAgainstArray(range(1, 513), "reduce", sum);
}
testReduce();
if (getBuildConfiguration().parallelJS) testReduce();

Просмотреть файл

@ -14,4 +14,4 @@ function testReduceThrows() {
}
// FIXME(bug 844886) sanity check argument types
// testReduceThrows();
// if (getBuildConfiguration().parallelJS) testReduceThrows();

Просмотреть файл

@ -1,3 +1,3 @@
load(libdir + "parallelarray-helpers.js");
function sum(a, b) { return a+b; }
testScan(range(1, 1024), sum);
if (getBuildConfiguration().parallelJS) testScan(range(1, 1024), sum);

Просмотреть файл

@ -6,4 +6,4 @@ function testScanOne() {
assertEq(s.get(0), p.reduce(f));
}
testScanOne();
if (getBuildConfiguration().parallelJS) testScanOne();

Просмотреть файл

@ -14,4 +14,4 @@ function testScan() {
}
}
testScan();
if (getBuildConfiguration().parallelJS) testScan();

Просмотреть файл

@ -9,4 +9,4 @@ function testScan() {
assertEq(r >= 1 && r <= 4, true);
}
testScan();
if (getBuildConfiguration().parallelJS) testScan();

Просмотреть файл

@ -34,4 +34,4 @@ function test() {
assertStructuralEq(scanned1, scanned2);
}
test();
if (getBuildConfiguration().parallelJS) test();

Просмотреть файл

@ -15,4 +15,4 @@ function testScanThrows() {
}
// FIXME(bug 844886) sanity check argument types
// testScanThrows();
// if (getBuildConfiguration().parallelJS) testScanThrows();

Просмотреть файл

@ -5,4 +5,4 @@ function testScatter() {
assertEq(r.length, 10);
}
testScatter();
if (getBuildConfiguration().parallelJS) testScatter();

Просмотреть файл

@ -25,4 +25,4 @@ function testDivideScatterVector() {
}
}
testDivideScatterVector();
if (getBuildConfiguration().parallelJS) testDivideScatterVector();

Просмотреть файл

@ -25,4 +25,4 @@ function testDivideScatterVector() {
}
}
testDivideScatterVector();
if (getBuildConfiguration().parallelJS) testDivideScatterVector();

Просмотреть файл

@ -24,4 +24,4 @@ function testDivideScatterVector() {
}
}
testDivideScatterVector();
if (getBuildConfiguration().parallelJS) testDivideScatterVector();

Просмотреть файл

@ -31,4 +31,4 @@ function testDivideScatterVector() {
}
}
testDivideScatterVector();
if (getBuildConfiguration().parallelJS) testDivideScatterVector();

Просмотреть файл

@ -6,5 +6,5 @@ function testScatterIdentity() {
assertEqParallelArray(p, r);
}
testScatterIdentity();
if (getBuildConfiguration().parallelJS) testScatterIdentity();

Просмотреть файл

@ -7,5 +7,5 @@ function testScatter() {
assertEqParallelArray(r, p2);
}
testScatter();
if (getBuildConfiguration().parallelJS) testScatter();

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше