tor-browser

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

shared-array-buffer.js (1068B)


      1 // |jit-test| skip-if: !this.SharedArrayBuffer
      2 
      3 var gb = 1 * 1024 * 1024 * 1024;
      4 var sab = new SharedArrayBuffer(4 * gb + 10);
      5 var ta = new Uint8Array(sab);
      6 
      7 function testSlice() {
      8    // Large |start| and |end|.
      9    ta[4 * gb + 0] = 11;
     10    ta[4 * gb + 1] = 22;
     11    ta[4 * gb + 2] = 33;
     12    ta[4 * gb + 3] = 44;
     13    var ta2 = new Uint8Array(sab.slice(4 * gb, 4 * gb + 4));
     14    assertEq(ta2.toString(), "11,22,33,44");
     15 
     16    // Large |start|.
     17    ta[ta.length - 3] = 99;
     18    ta[ta.length - 2] = 88;
     19    ta[ta.length - 1] = 77;
     20    ta2 = new Uint8Array(sab.slice(4 * gb + 8));
     21    assertEq(ta2.toString(), "88,77");
     22 
     23    // Relative values.
     24    ta2 = new Uint8Array(sab.slice(-3, -1));
     25    assertEq(ta2.toString(), "99,88");
     26 
     27    // Large relative values.
     28    ta[0] = 100;
     29    ta[1] = 101;
     30    ta[2] = 102;
     31    ta2 = new Uint8Array(sab.slice(-ta.length, -ta.length + 3));
     32    assertEq(ta2.toString(), "100,101,102");
     33 }
     34 testSlice();
     35 
     36 function testSharedMailbox() {
     37    setSharedObject(sab);
     38    assertEq(getSharedObject().byteLength, 4 * gb + 10);
     39 }
     40 testSharedMailbox();