Chromium Code Reviews| Index: src/harmony-typedarray.js |
| diff --git a/src/harmony-typedarray.js b/src/harmony-typedarray.js |
| index b9cc798ad2041b9aa9ab5a0a00d8096974f71952..b2550a934a7288342125451594cecb62f259945c 100644 |
| --- a/src/harmony-typedarray.js |
| +++ b/src/harmony-typedarray.js |
| @@ -11,25 +11,21 @@ |
| // ------------------------------------------------------------------- |
| // Imports |
| -macro TYPED_ARRAYS(FUNCTION) |
| -// arrayIds below should be synchronized with Runtime_TypedArrayInitialize. |
| -FUNCTION(Uint8Array) |
| -FUNCTION(Int8Array) |
| -FUNCTION(Uint16Array) |
| -FUNCTION(Int16Array) |
| -FUNCTION(Uint32Array) |
| -FUNCTION(Int32Array) |
| -FUNCTION(Float32Array) |
| -FUNCTION(Float64Array) |
| -FUNCTION(Uint8ClampedArray) |
| -endmacro |
| macro DECLARE_GLOBALS(NAME) |
| var GlobalNAME = global.NAME; |
| endmacro |
| -TYPED_ARRAYS(DECLARE_GLOBALS) |
| DECLARE_GLOBALS(Array) |
| +DECLARE_GLOBALS(Uint8Array) |
| +DECLARE_GLOBALS(Int8Array) |
| +DECLARE_GLOBALS(Uint16Array) |
| +DECLARE_GLOBALS(Int16Array) |
| +DECLARE_GLOBALS(Uint32Array) |
| +DECLARE_GLOBALS(Int32Array) |
| +DECLARE_GLOBALS(Float32Array) |
| +DECLARE_GLOBALS(Float64Array) |
| +DECLARE_GLOBALS(Uint8ClampedArray) |
| var ArrayFrom; |
| var ArrayToString; |
| @@ -51,6 +47,8 @@ var InnerArrayToLocaleString; |
| var IsNaN; |
| var MathMax; |
| var MathMin; |
| +var TypedArray = GlobalUint8Array.__proto__; |
| +var TypedArrayPrototype = GlobalUint8Array.prototype.__proto__; |
|
arv (Not doing code reviews)
2015/06/16 16:24:49
This is the same as TypedArray.prototype which rea
Dan Ehrenberg
2015/06/16 22:38:23
TypedArray is not exposed.
arv (Not doing code reviews)
2015/06/16 22:48:42
You defined it on line 50.
|
| utils.Import(function(from) { |
| ArrayFrom = from.ArrayFrom; |
| @@ -376,38 +374,33 @@ function TypedArrayFrom(source, mapfn, thisArg) { |
| } |
| %FunctionSetLength(TypedArrayFrom, 1); |
| -// TODO(littledan): Fix the TypedArray proto chain (bug v8:4085). |
| -macro EXTEND_TYPED_ARRAY(NAME) |
| // Set up non-enumerable functions on the object. |
| - utils.InstallFunctions(GlobalNAME, DONT_ENUM | DONT_DELETE | READ_ONLY, [ |
| - "from", TypedArrayFrom, |
| - "of", TypedArrayOf |
| - ]); |
| - |
| - // Set up non-enumerable functions on the prototype object. |
| - utils.InstallFunctions(GlobalNAME.prototype, DONT_ENUM, [ |
| - "copyWithin", TypedArrayCopyWithin, |
| - "every", TypedArrayEvery, |
| - "fill", TypedArrayFill, |
| - "filter", TypedArrayFilter, |
| - "find", TypedArrayFind, |
| - "findIndex", TypedArrayFindIndex, |
| - "indexOf", TypedArrayIndexOf, |
| - "join", TypedArrayJoin, |
| - "lastIndexOf", TypedArrayLastIndexOf, |
| - "forEach", TypedArrayForEach, |
| - "map", TypedArrayMap, |
| - "reduce", TypedArrayReduce, |
| - "reduceRight", TypedArrayReduceRight, |
| - "reverse", TypedArrayReverse, |
| - "slice", TypedArraySlice, |
| - "some", TypedArraySome, |
| - "sort", TypedArraySort, |
| - "toString", TypedArrayToString, |
| - "toLocaleString", TypedArrayToLocaleString |
| - ]); |
| -endmacro |
| - |
| -TYPED_ARRAYS(EXTEND_TYPED_ARRAY) |
| +utils.InstallFunctions(TypedArray, DONT_ENUM | DONT_DELETE | READ_ONLY, [ |
| + "from", TypedArrayFrom, |
| + "of", TypedArrayOf |
| +]); |
| + |
| +// Set up non-enumerable functions on the prototype object. |
| +utils.InstallFunctions(TypedArrayPrototype, DONT_ENUM, [ |
| + "copyWithin", TypedArrayCopyWithin, |
| + "every", TypedArrayEvery, |
| + "fill", TypedArrayFill, |
| + "filter", TypedArrayFilter, |
| + "find", TypedArrayFind, |
| + "findIndex", TypedArrayFindIndex, |
| + "indexOf", TypedArrayIndexOf, |
| + "join", TypedArrayJoin, |
| + "lastIndexOf", TypedArrayLastIndexOf, |
| + "forEach", TypedArrayForEach, |
| + "map", TypedArrayMap, |
| + "reduce", TypedArrayReduce, |
| + "reduceRight", TypedArrayReduceRight, |
| + "reverse", TypedArrayReverse, |
| + "slice", TypedArraySlice, |
| + "some", TypedArraySome, |
| + "sort", TypedArraySort, |
| + "toString", TypedArrayToString, |
| + "toLocaleString", TypedArrayToLocaleString |
| +]); |
| }) |