js/src/jit-test/tests/arguments/argsx-3.js

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 actual = '';
     2 expected = "true,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,true,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,true,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,true,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,true,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,true,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,true,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,true,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,true,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,true,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,true,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,false,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,false,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,false,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,false,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,false,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,false,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,false,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,false,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,false,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},4,false,1,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,[object Object],function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,[object Object],function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,[object Object],function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,[object Object],function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,[object Object],function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,[object Object],function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,[object Object],function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,[object Object],function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,[object Object],function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,[object Object],function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,abc,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,abc,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,abc,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,abc,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,abc,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,abc,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,abc,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,abc,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,abc,function f(t) {\n  if (t) {\n    var b = arguments;\n    appendToActual(b[0]);\n  }\n  \n  for (var i = 0; i < 10; ++i) {\n    var a = arguments;\n    appendToActual(a.callee);\n    appendToActual(a.length);\n    appendToActual(a[0]);\n    appendToActual(a[1]);\n  }\n},3,false,abc,"
     4 // args object created by interpreter at record time, but not always at run time.
     6 function f(t) {
     7   if (t) {
     8     var b = arguments;
     9     appendToActual(b[0]);
    10   }
    12   for (var i = 0; i < 10; ++i) {
    13     var a = arguments;
    14     appendToActual(a.callee);
    15     appendToActual(a.length);
    16     appendToActual(a[0]);
    17     appendToActual(a[1]);
    18   }
    19 }
    21 f(true, 1, 2, 3);
    22 f(false, 1, 2, 3);
    23 f(false, {}, 'a');
    24 f(false, 'abc', 'def');
    27 assertEq(actual, expected)

mercurial