tor-browser

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

jsscript-mark-children.js (953B)


      1 // Bug 758509 changed things so that a JSScript is partially initialized when
      2 // it is created, which is prior to bytecode generation; full initialization
      3 // only occurs after bytecode generation.  This means that
      4 // JSScript::markChildren() must deal with partially-initialized JSScripts.
      5 // This test forces that to happen, because each let block allocates a
      6 // StaticBlockObject.  All that should happen is that we don't crash.
      7 
      8 let t = 0;
      9 gczeal(2,1);
     10 eval("\
     11 let x0 = 3, y = 4;\
     12 { let x = x0+0, y = 12; t += (x + y); }  \
     13 { let x = x0+1, y = 12; t += (x + y); }  \
     14 { let x = x0+2, y = 12; t += (x + y); }  \
     15 { let x = x0+3, y = 12; t += (x + y); }  \
     16 { let x = x0+4, y = 12; t += (x + y); }  \
     17 { let x = x0+5, y = 12; t += (x + y); }  \
     18 { let x = x0+6, y = 12; t += (x + y); }  \
     19 { let x = x0+7, y = 12; t += (x + y); }  \
     20 { let x = x0+8, y = 12; t += (x + y); }  \
     21 { let x = x0+9, y = 12; t += (x + y); }  \
     22 t += (x0 + y);\
     23 assertEq(t, 202);\
     24 ");