tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

dense-elements-hole-negative.js (564B)


      1 // The index is negative before code generation.
      2 
      3 let v = {};
      4 let negativeIndex = -1;
      5 
      6 function f(obj) {
      7  assertEq(obj[negativeIndex] === v, true);
      8 }
      9 for (let i = 0; i < 2000; i++) {
     10  let obj = {};
     11  obj[1] = {};
     12  obj[negativeIndex] = v;
     13  f(obj);
     14 }
     15 
     16 // The sign of the index changes after the code generation.
     17 
     18 function g(obj, i) {
     19  for (let j = 0; j < 4; j++) {
     20    assertEq(obj[i-j] === v, true);
     21  }
     22 }
     23 for (let i = 0; i < 2000; i++) {
     24  let obj = {};
     25  obj[1] = {};
     26  let X = 2000 - i;
     27  for (let j = 0; j < 10; j++) {
     28    obj[X-j] = v;
     29  }
     30  g(obj, X);
     31 }