tor-browser

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

non-extensible-elements4.js (568B)


      1 // When an already-non-extensible object is frozen, its Shape doesn't change.
      2 // Make sure SetElement ICs handle this correctly.
      3 
      4 function doStore(a) {
      5    for (var i = 0; i < 100; i++) {
      6        a[1] = i;
      7    }
      8 }
      9 function test() {
     10    with(this) {} // Don't Ion-compile.
     11 
     12    var a = {0: 0, 1: 1};
     13    Object.preventExtensions(a);
     14    doStore(a);
     15    assertEq(a[1], 99);
     16 
     17    a[1] = 0;
     18    Object.freeze(a);
     19    doStore(a);
     20    assertEq(a[1], 0);
     21 }
     22 
     23 setJitCompilerOption("ion.forceinlineCaches", 1);
     24 test();
     25 
     26 setJitCompilerOption("ion.forceinlineCaches", 0);
     27 test();