Index: test/mjsunit/regress/regress-crbug-516592.js |
diff --git a/test/mjsunit/regress/regress-crbug-516592.js b/test/mjsunit/regress/regress-crbug-516592.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1887824a6caecbe35605d997493a586321b6101d |
--- /dev/null |
+++ b/test/mjsunit/regress/regress-crbug-516592.js |
@@ -0,0 +1,18 @@ |
+// 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. |
+ |
+var i = Math.pow(2, 31); |
+var a = []; |
+a[i] = 31; |
+var b = []; |
+b[i - 2] = 33; |
+try { |
+ // This is supposed to throw a RangeError. |
+ var c = a.concat(b); |
+ // If it didn't, ObservableSetLength will detect the problem. |
+ Object.observe(c, function() {}); |
+ c.length = 1; |
+} catch(e) { |
+ assertTrue(e instanceof RangeError); |
+} |