js/src/jit-test/tests/ion/bug908867.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/ion/bug908867.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,42 @@
     1.4 +if (typeof ParallelArray === "undefined")
     1.5 +  quit();
     1.6 +
     1.7 +x = ParallelArray()
     1.8 +y = x.shape
     1.9 +Object.defineProperty(this, "z", {
    1.10 +    get: function() {
    1.11 +        return x.flatten()
    1.12 +    }
    1.13 +})
    1.14 +Object.defineProperty(y, 5, {
    1.15 +    value: this
    1.16 +});
    1.17 +y[8] = z
    1.18 +valueOf = (function() {
    1.19 +    function f() {
    1.20 +        (.9 % 1) > f
    1.21 +    }
    1.22 +    return f
    1.23 +})(this, {})
    1.24 +x.shape.join()
    1.25 +
    1.26 +
    1.27 +assertArraySeqParResultsEq(range(0, 1024), "filter", function(e, i) { return (i % (1.1)) != 0; });
    1.28 +function range(n, m) {
    1.29 +  var result = [];
    1.30 +  for (var i = n; i < m; i++)
    1.31 +    result.push(i);
    1.32 +  return result;
    1.33 +}
    1.34 +function assertArraySeqParResultsEq(arr, op, func) {
    1.35 +  arr[op].apply(arr, [func]);
    1.36 +}
    1.37 +
    1.38 +
    1.39 +function foo(v) {
    1.40 +  if (v < -200) return 0;
    1.41 +  if (v > 200) return 0;
    1.42 +  return v % 1;
    1.43 +}
    1.44 +assertEq(foo(0.9), 0.9);
    1.45 +assertEq(foo(0.9), 0.9);

mercurial