--- /dev/null
+'use strict';
+
+var setPrototypeOf = require('../object/set-prototype-of')
+ , isExtensible = require('./_is-extensible');
+
+module.exports = (function () {
+ var SubArray;
+
+ if (isExtensible) return require('./_sub-array-dummy');
+
+ if (!setPrototypeOf) return null;
+ SubArray = function () {
+ var arr = Array.apply(this, arguments);
+ setPrototypeOf(arr, SubArray.prototype);
+ return arr;
+ };
+ setPrototypeOf(SubArray, Array);
+ SubArray.prototype = Object.create(Array.prototype, {
+ constructor: { value: SubArray, enumerable: false, writable: true,
+ configurable: true }
+ });
+ return SubArray;
+}());