js/src/jit-test/tests/parallel/alloc-array-nonwritable.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/parallel/alloc-array-nonwritable.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,40 @@
     1.4 +load(libdir + "parallelarray-helpers.js");
     1.5 +
     1.6 +function buildSimple()
     1.7 +{
     1.8 +  var subarr = [];
     1.9 +  for (var i = 0; i < 100; i++)
    1.10 +    subarr[i] = 3;
    1.11 +  subarr[100] = 0;
    1.12 +
    1.13 +  var expected = [];
    1.14 +  for (var i = 0; i < 256; i++)
    1.15 +    expected[i] = subarr;
    1.16 +
    1.17 +  var pa = Array.buildPar(256, function(_) {
    1.18 +    var arrs = [];
    1.19 +    for (var i = 0; i < 100; i++)
    1.20 +      arrs[i] = [0, 1, 2, 3, 4, 5, 6];
    1.21 +
    1.22 +    arrs[100] =
    1.23 +      Object.defineProperty([0, 1, 2, 3, 4, 5, 6, 7],
    1.24 +                            "length",
    1.25 +                            { writable: false, value: 7 });
    1.26 +
    1.27 +    for (var i = 0; i < 101; i++)
    1.28 +      arrs[i][7] = 7;
    1.29 +
    1.30 +    var x = [];
    1.31 +    for (var i = 0; i < 101; i++) {
    1.32 +      var a = arrs[i];
    1.33 +      x[i] = +(a.length === 8) + 2 * +("7" in a);
    1.34 +    }
    1.35 +
    1.36 +    return x;
    1.37 +  });
    1.38 +
    1.39 +  assertEqArray(pa, expected);
    1.40 +}
    1.41 +
    1.42 +if (getBuildConfiguration().parallelJS)
    1.43 +  buildSimple();

mercurial