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