| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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) { | 5 (function(global, utils) { |
| 6 | 6 |
| 7 "use strict"; | 7 "use strict"; |
| 8 | 8 |
| 9 %CheckIsBootstrapping(); | 9 %CheckIsBootstrapping(); |
| 10 | 10 |
| 11 // ------------------------------------------------------------------- | 11 // ------------------------------------------------------------------- |
| 12 // Imports | 12 // Imports |
| 13 | 13 |
| 14 // array.js has to come before typedarray.js for this to work | 14 // array.js has to come before typedarray.js for this to work |
| 15 var ArrayToString = utils.ImportNow("ArrayToString"); | 15 var ArrayToString = utils.ImportNow("ArrayToString"); |
| 16 var ArrayValues; | 16 var ArrayValues; |
| 17 var GetIterator; | 17 var GetIterator; |
| 18 var GetMethod; | 18 var GetMethod; |
| 19 var GlobalArray = global.Array; | 19 var GlobalArray = global.Array; |
| 20 var GlobalArrayBuffer = global.ArrayBuffer; | 20 var GlobalArrayBuffer = global.ArrayBuffer; |
| 21 var GlobalArrayBufferPrototype = GlobalArrayBuffer.prototype; | 21 var GlobalArrayBufferPrototype = GlobalArrayBuffer.prototype; |
| 22 var GlobalDataView = global.DataView; | |
| 23 var GlobalObject = global.Object; | 22 var GlobalObject = global.Object; |
| 24 var InnerArrayCopyWithin; | 23 var InnerArrayCopyWithin; |
| 25 var InnerArrayEvery; | 24 var InnerArrayEvery; |
| 26 var InnerArrayFill; | 25 var InnerArrayFill; |
| 27 var InnerArrayFilter; | 26 var InnerArrayFilter; |
| 28 var InnerArrayFind; | 27 var InnerArrayFind; |
| 29 var InnerArrayFindIndex; | 28 var InnerArrayFindIndex; |
| 30 var InnerArrayForEach; | 29 var InnerArrayForEach; |
| 31 var InnerArrayJoin; | 30 var InnerArrayJoin; |
| 32 var InnerArrayReduce; | 31 var InnerArrayReduce; |
| (...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 908 | 907 |
| 909 %AddNamedProperty(GlobalNAME.prototype, | 908 %AddNamedProperty(GlobalNAME.prototype, |
| 910 "constructor", global.NAME, DONT_ENUM); | 909 "constructor", global.NAME, DONT_ENUM); |
| 911 %AddNamedProperty(GlobalNAME.prototype, | 910 %AddNamedProperty(GlobalNAME.prototype, |
| 912 "BYTES_PER_ELEMENT", ELEMENT_SIZE, | 911 "BYTES_PER_ELEMENT", ELEMENT_SIZE, |
| 913 READ_ONLY | DONT_ENUM | DONT_DELETE); | 912 READ_ONLY | DONT_ENUM | DONT_DELETE); |
| 914 endmacro | 913 endmacro |
| 915 | 914 |
| 916 TYPED_ARRAYS(SETUP_TYPED_ARRAY) | 915 TYPED_ARRAYS(SETUP_TYPED_ARRAY) |
| 917 | 916 |
| 918 // --------------------------- DataView ----------------------------- | |
| 919 | |
| 920 macro DATA_VIEW_TYPES(FUNCTION) | |
| 921 FUNCTION(Int8) | |
| 922 FUNCTION(Uint8) | |
| 923 FUNCTION(Int16) | |
| 924 FUNCTION(Uint16) | |
| 925 FUNCTION(Int32) | |
| 926 FUNCTION(Uint32) | |
| 927 FUNCTION(Float32) | |
| 928 FUNCTION(Float64) | |
| 929 endmacro | |
| 930 | |
| 931 | |
| 932 macro DATA_VIEW_GETTER_SETTER(TYPENAME) | |
| 933 function DataViewGetTYPENAMEJS(offset, little_endian) { | |
| 934 if (!IS_DATAVIEW(this)) { | |
| 935 throw %make_type_error(kIncompatibleMethodReceiver, | |
| 936 'DataView.getTYPENAME', this); | |
| 937 } | |
| 938 offset = IS_UNDEFINED(offset) ? 0 : ToIndex(offset, kInvalidDataViewAccessorOf
fset); | |
| 939 return %DataViewGetTYPENAME(this, offset, !!little_endian); | |
| 940 } | |
| 941 %FunctionSetLength(DataViewGetTYPENAMEJS, 1); | |
| 942 | |
| 943 function DataViewSetTYPENAMEJS(offset, value, little_endian) { | |
| 944 if (!IS_DATAVIEW(this)) { | |
| 945 throw %make_type_error(kIncompatibleMethodReceiver, | |
| 946 'DataView.setTYPENAME', this); | |
| 947 } | |
| 948 offset = IS_UNDEFINED(offset) ? 0 : ToIndex(offset, kInvalidDataViewAccessorOf
fset); | |
| 949 %DataViewSetTYPENAME(this, offset, TO_NUMBER(value), !!little_endian); | |
| 950 } | |
| 951 %FunctionSetLength(DataViewSetTYPENAMEJS, 2); | |
| 952 endmacro | |
| 953 | |
| 954 DATA_VIEW_TYPES(DATA_VIEW_GETTER_SETTER) | |
| 955 | |
| 956 utils.InstallFunctions(GlobalDataView.prototype, DONT_ENUM, [ | |
| 957 "getInt8", DataViewGetInt8JS, | |
| 958 "setInt8", DataViewSetInt8JS, | |
| 959 | |
| 960 "getUint8", DataViewGetUint8JS, | |
| 961 "setUint8", DataViewSetUint8JS, | |
| 962 | |
| 963 "getInt16", DataViewGetInt16JS, | |
| 964 "setInt16", DataViewSetInt16JS, | |
| 965 | |
| 966 "getUint16", DataViewGetUint16JS, | |
| 967 "setUint16", DataViewSetUint16JS, | |
| 968 | |
| 969 "getInt32", DataViewGetInt32JS, | |
| 970 "setInt32", DataViewSetInt32JS, | |
| 971 | |
| 972 "getUint32", DataViewGetUint32JS, | |
| 973 "setUint32", DataViewSetUint32JS, | |
| 974 | |
| 975 "getFloat32", DataViewGetFloat32JS, | |
| 976 "setFloat32", DataViewSetFloat32JS, | |
| 977 | |
| 978 "getFloat64", DataViewGetFloat64JS, | |
| 979 "setFloat64", DataViewSetFloat64JS | |
| 980 ]); | |
| 981 | |
| 982 }) | 917 }) |
| OLD | NEW |