tor-browser

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

inline-arguments-new-spread-optimization.js (777B)


      1 // |jit-test| --fast-warmup
      2 
      3 
      4 function foo(...args) {
      5    with ({}) {}
      6    return {result: args.length};
      7 }
      8 
      9 function inner() {
     10    // Single argument spread calls with |arguments| can be optimised.
     11    return new foo(...arguments);
     12 }
     13 
     14 function outer0() {
     15    trialInline();
     16    return inner();
     17 }
     18 
     19 function outer1() {
     20    trialInline();
     21    return inner(1);
     22 }
     23 
     24 function outer2() {
     25    trialInline();
     26    return inner(1, 2);
     27 }
     28 
     29 function outer3() {
     30    trialInline();
     31    return inner(1,2,3)
     32 }
     33 
     34 function outer4() {
     35    trialInline();
     36    return inner(1,2,3,4)
     37 }
     38 
     39 with ({}) {}
     40 
     41 for (var i = 0; i < 50; i++) {
     42    assertEq(outer0().result, 0);
     43    assertEq(outer1().result, 1);
     44    assertEq(outer2().result, 2);
     45    assertEq(outer3().result, 3);
     46    assertEq(outer4().result, 4);
     47 }