Home | History | Annotate | Download | only in harmony
      1 // Copyright 2015 the V8 project authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 //
      5 // Flags: --harmony-destructuring-bind
      6 // Flags: --no-lazy --allow-natives-syntax
      7 
      8 
      9 var t1 = [1];
     10 var t2 = [2];
     11 var t3 = [3];
     12 var t4 = [4];
     13 var t5 = [5];
     14 function g({x = {a:10,b:20}},
     15            {y = [1,2,3],
     16             n = [],
     17             p = /abc/}) {
     18   assertSame(10, x.a);
     19   assertSame(20, x.b);
     20   assertSame(2, y[1]);
     21   assertSame(0, n.length);
     22   assertTrue(p.test("abc"));
     23 }
     24 g({},{});
     25 %OptimizeFunctionOnNextCall(g);
     26 g({},{});
     27 
     28 
     29 var h = ({x = {a:10,b:20}},
     30          {y = [1,2,3],
     31           n = [],
     32           p = /abc/ }) => {
     33     assertSame(10, x.a);
     34     assertSame(20, x.b);
     35     assertSame(2, y[1]);
     36     assertSame(0, n.length);
     37     assertTrue(p.test("abc"));
     38   };
     39 h({},{});
     40 %OptimizeFunctionOnNextCall(h);
     41 h({},{});
     42