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: --allow-natives-syntax 7 8 9var t1 = [1]; 10var t2 = [2]; 11var t3 = [3]; 12var t4 = [4]; 13var t5 = [5]; 14function 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} 24g({},{}); 25%OptimizeFunctionOnNextCall(g); 26g({},{}); 27 28 29var 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 }; 39h({},{}); 40%OptimizeFunctionOnNextCall(h); 41h({},{}); 42