js/src/jit-test/tests/pic/arguments.js

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 function f() {
     2     var args = arguments, r;
     4     for (var i = 0; i < args.length; i++)
     5         r = args[i];
     7     return r;
     8 }
    10 assertEq(f.apply(null, [1, 2, 3, 4, 5, 6]), 6)
    11 assertEq(f.apply(null, [1, 2, 3, 4, 5]), 5)
    12 assertEq(f.apply(null, [1, 2, 3, 4]), 4)
    14 function g(arg) {
    15     var r;
    16     for (var i = 0; i < arg.length; i++)
    17         r = arg[i];
    18     return r;
    19 }
    21 assertEq(g((function () arguments).call(null, 1, 2, 3)), 3);
    22 assertEq(g(new Float32Array(3)), 0.0);
    23 assertEq(g([1, 2, 3, 4]), 4);

mercurial