Index: test/mjsunit/harmony/regress/regress-4160.js |
diff --git a/test/mjsunit/harmony/regress/regress-4160.js b/test/mjsunit/harmony/regress/regress-4160.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b02daeed40f730419741204684b4f24c00d235ac |
--- /dev/null |
+++ b/test/mjsunit/harmony/regress/regress-4160.js |
@@ -0,0 +1,29 @@ |
+// 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-arrow-functions --allow-natives-syntax |
+ |
+(function(x) { |
+ (function(x) { |
+ var boom = (() => eval(x)); |
+ assertEquals(23, boom()); |
+ assertEquals(23, boom()); |
+ %OptimizeFunctionOnNextCall(boom); |
+ assertEquals(23, boom()); |
+ assertEquals("23", x); |
+ })("23"); |
+ assertEquals("42", x); |
+})("42"); |
+ |
+(function(x) { |
+ (function(x) { |
+ var boom = (() => (eval("var x = 66"), x)); |
+ assertEquals(66, boom()); |
+ assertEquals(66, boom()); |
+ %OptimizeFunctionOnNextCall(boom); |
+ assertEquals(66, boom()); |
+ assertEquals("23", x); |
+ })("23"); |
+ assertEquals("42", x); |
+})("42"); |