Index: test/mjsunit/harmony/destructuring-parameters-literalcount-nolazy.js |
diff --git a/test/mjsunit/harmony/destructuring-parameters-literalcount-nolazy.js b/test/mjsunit/harmony/destructuring-parameters-literalcount-nolazy.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fdf1233f90ae60a4a126be9bc4c0324f9fb065ce |
--- /dev/null |
+++ b/test/mjsunit/harmony/destructuring-parameters-literalcount-nolazy.js |
@@ -0,0 +1,41 @@ |
+// Copyright 2015 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+// |
+// Flags: --harmony-destructuring --harmony-computed-property-names |
+// Flags: --harmony-arrow-functions --no-lazy --allow-natives-syntax |
+ |
+ |
+var t1 = [1]; |
+var t2 = [2]; |
+var t3 = [3]; |
+var t4 = [4]; |
+var t5 = [5]; |
+function g({x = {a:10,b:20}}, |
+ {y = [1,2,3], |
+ n = [], |
+ p = /abc/}) { |
+ assertSame(10, x.a); |
+ assertSame(20, x.b); |
+ assertSame(2, y[1]); |
+ assertSame(0, n.length); |
+ assertTrue(p.test("abc")); |
+} |
+g({},{}); |
+%OptimizeFunctionOnNextCall(g); |
+g({},{}); |
+ |
+ |
+var h = ({x = {a:10,b:20}}, |
+ {y = [1,2,3], |
+ n = [], |
+ p = /abc/ }) => { |
+ assertSame(10, x.a); |
+ assertSame(20, x.b); |
+ assertSame(2, y[1]); |
+ assertSame(0, n.length); |
+ assertTrue(p.test("abc")); |
+ }; |
+h({},{}); |
+%OptimizeFunctionOnNextCall(h); |
+h({},{}); |