Index: test/mjsunit/regress/regress-4665.js |
diff --git a/test/mjsunit/regress/regress-4665.js b/test/mjsunit/regress/regress-4665.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9d7307acc7aaace6c488c6ca230bdc59cb9c384e |
--- /dev/null |
+++ b/test/mjsunit/regress/regress-4665.js |
@@ -0,0 +1,33 @@ |
+// 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: --noharmony-species |
+ |
+// First test case |
+ |
+function FirstBuffer () {} |
+FirstBuffer.prototype.__proto__ = Uint8Array.prototype |
+FirstBuffer.__proto__ = Uint8Array |
+ |
+var buf = new Uint8Array(10) |
+buf.__proto__ = FirstBuffer.prototype |
+ |
+var buf2 = buf.subarray(2) |
+assertEquals(8, buf2.length); |
+ |
+// Second test case |
+ |
+function SecondBuffer (arg) { |
+ var arr = new Uint8Array(arg) |
+ arr.__proto__ = SecondBuffer.prototype |
+ return arr |
+} |
+SecondBuffer.prototype.__proto__ = Uint8Array.prototype |
+SecondBuffer.__proto__ = Uint8Array |
+ |
+var buf3 = new SecondBuffer(10) |
+ |
+var buf4 = buf3.subarray(2) |
+ |
+assertEquals(8, buf4.length); |