Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(306)

Side by Side Diff: src/js/array.js

Issue 1497483004: [proxies] Make Array.isArray respect proxies. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address comment. Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/builtins.cc ('k') | src/objects.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 (function(global, utils, extrasUtils) { 5 (function(global, utils, extrasUtils) {
6 6
7 "use strict"; 7 "use strict";
8 8
9 %CheckIsBootstrapping(); 9 %CheckIsBootstrapping();
10 10
(...skipping 1679 matching lines...) Expand 10 before | Expand all | Expand 10 after
1690 function ArrayFill(value, start, end) { 1690 function ArrayFill(value, start, end) {
1691 CHECK_OBJECT_COERCIBLE(this, "Array.prototype.fill"); 1691 CHECK_OBJECT_COERCIBLE(this, "Array.prototype.fill");
1692 1692
1693 var array = TO_OBJECT(this); 1693 var array = TO_OBJECT(this);
1694 var length = TO_LENGTH_OR_UINT32(array.length); 1694 var length = TO_LENGTH_OR_UINT32(array.length);
1695 1695
1696 return InnerArrayFill(value, start, end, array, length); 1696 return InnerArrayFill(value, start, end, array, length);
1697 } 1697 }
1698 1698
1699 1699
1700 // ES5, 15.4.3.2
1701 function ArrayIsArray(obj) {
1702 return IS_ARRAY(obj);
1703 }
1704
1705
1706 function AddArrayElement(constructor, array, i, value) { 1700 function AddArrayElement(constructor, array, i, value) {
1707 if (constructor === GlobalArray) { 1701 if (constructor === GlobalArray) {
1708 AddIndexedProperty(array, i, value); 1702 AddIndexedProperty(array, i, value);
1709 } else { 1703 } else {
1710 ObjectDefineProperty(array, i, { 1704 ObjectDefineProperty(array, i, {
1711 value: value, writable: true, configurable: true, enumerable: true 1705 value: value, writable: true, configurable: true, enumerable: true
1712 }); 1706 });
1713 } 1707 }
1714 } 1708 }
1715 1709
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1809 keys: true, 1803 keys: true,
1810 }; 1804 };
1811 1805
1812 %AddNamedProperty(GlobalArray.prototype, unscopablesSymbol, unscopables, 1806 %AddNamedProperty(GlobalArray.prototype, unscopablesSymbol, unscopables,
1813 DONT_ENUM | READ_ONLY); 1807 DONT_ENUM | READ_ONLY);
1814 1808
1815 %FunctionSetLength(ArrayFrom, 1); 1809 %FunctionSetLength(ArrayFrom, 1);
1816 1810
1817 // Set up non-enumerable functions on the Array object. 1811 // Set up non-enumerable functions on the Array object.
1818 utils.InstallFunctions(GlobalArray, DONT_ENUM, [ 1812 utils.InstallFunctions(GlobalArray, DONT_ENUM, [
1819 "isArray", ArrayIsArray,
1820 "from", ArrayFrom, 1813 "from", ArrayFrom,
1821 "of", ArrayOf 1814 "of", ArrayOf
1822 ]); 1815 ]);
1823 1816
1824 var specialFunctions = %SpecialArrayFunctions(); 1817 var specialFunctions = %SpecialArrayFunctions();
1825 1818
1826 var getFunction = function(name, jsBuiltin, len) { 1819 var getFunction = function(name, jsBuiltin, len) {
1827 var f = jsBuiltin; 1820 var f = jsBuiltin;
1828 if (specialFunctions.hasOwnProperty(name)) { 1821 if (specialFunctions.hasOwnProperty(name)) {
1829 f = specialFunctions[name]; 1822 f = specialFunctions[name];
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1929 %InstallToContext([ 1922 %InstallToContext([
1930 "array_pop", ArrayPop, 1923 "array_pop", ArrayPop,
1931 "array_push", ArrayPush, 1924 "array_push", ArrayPush,
1932 "array_shift", ArrayShift, 1925 "array_shift", ArrayShift,
1933 "array_splice", ArraySplice, 1926 "array_splice", ArraySplice,
1934 "array_slice", ArraySlice, 1927 "array_slice", ArraySlice,
1935 "array_unshift", ArrayUnshift, 1928 "array_unshift", ArrayUnshift,
1936 ]); 1929 ]);
1937 1930
1938 }); 1931 });
OLDNEW
« no previous file with comments | « src/builtins.cc ('k') | src/objects.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698