OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 var $float32x4ToString; | 5 var $float32x4ToString; |
6 | 6 |
7 (function(global, utils) { | 7 (function(global, utils) { |
8 | 8 |
9 "use strict"; | 9 "use strict"; |
10 | 10 |
(...skipping 26 matching lines...) Expand all Loading... |
37 function Float32x4ToString() { | 37 function Float32x4ToString() { |
38 if (!(IS_FLOAT32X4(this) || IS_FLOAT32X4_WRAPPER(this))) { | 38 if (!(IS_FLOAT32X4(this) || IS_FLOAT32X4_WRAPPER(this))) { |
39 throw MakeTypeError(kIncompatibleMethodReceiver, | 39 throw MakeTypeError(kIncompatibleMethodReceiver, |
40 "Float32x4.prototype.toString", this); | 40 "Float32x4.prototype.toString", this); |
41 } | 41 } |
42 var value = %_ValueOf(this); | 42 var value = %_ValueOf(this); |
43 var w = GlobalFloat32x4.extractLane(value, 0), | 43 var w = GlobalFloat32x4.extractLane(value, 0), |
44 x = GlobalFloat32x4.extractLane(value, 1), | 44 x = GlobalFloat32x4.extractLane(value, 1), |
45 y = GlobalFloat32x4.extractLane(value, 2), | 45 y = GlobalFloat32x4.extractLane(value, 2), |
46 z = GlobalFloat32x4.extractLane(value, 3); | 46 z = GlobalFloat32x4.extractLane(value, 3); |
47 return "Float32x4(" + w + ", " + x + ", " + y + ", " + z + ")"; | 47 return "SIMD.Float32x4(" + w + ", " + x + ", " + y + ", " + z + ")"; |
| 48 } |
| 49 |
| 50 function Float32x4ToLocaleString() { |
| 51 if (!(IS_FLOAT32X4(this) || IS_FLOAT32X4_WRAPPER(this))) { |
| 52 throw MakeTypeError(kIncompatibleMethodReceiver, |
| 53 "Float32x4.prototype.toLocaleString", this); |
| 54 } |
| 55 var value = %_ValueOf(this); |
| 56 var w = GlobalFloat32x4.extractLane(value, 0).toLocaleString(), |
| 57 x = GlobalFloat32x4.extractLane(value, 1).toLocaleString(), |
| 58 y = GlobalFloat32x4.extractLane(value, 2).toLocaleString(), |
| 59 z = GlobalFloat32x4.extractLane(value, 3).toLocaleString(); |
| 60 return "SIMD.Float32x4(" + w + ", " + x + ", " + y + ", " + z + ")"; |
48 } | 61 } |
49 | 62 |
50 function Float32x4ValueOf() { | 63 function Float32x4ValueOf() { |
51 if (!(IS_FLOAT32X4(this) || IS_FLOAT32X4_WRAPPER(this))) { | 64 if (!(IS_FLOAT32X4(this) || IS_FLOAT32X4_WRAPPER(this))) { |
52 throw MakeTypeError(kIncompatibleMethodReceiver, | 65 throw MakeTypeError(kIncompatibleMethodReceiver, |
53 "Float32x4.prototype.valueOf", this); | 66 "Float32x4.prototype.valueOf", this); |
54 } | 67 } |
55 return %_ValueOf(this); | 68 return %_ValueOf(this); |
56 } | 69 } |
57 | 70 |
58 //------------------------------------------------------------------- | 71 //------------------------------------------------------------------- |
59 | 72 |
60 function Float32x4ExtractLaneJS(value, lane) { | 73 function Float32x4ExtractLaneJS(value, lane) { |
61 return %Float32x4ExtractLane(value, lane); | 74 return %Float32x4ExtractLane(value, lane); |
62 } | 75 } |
63 | 76 |
64 // ------------------------------------------------------------------- | 77 // ------------------------------------------------------------------- |
65 | 78 |
66 %AddNamedProperty(GlobalSIMD, symbolToStringTag, 'SIMD', READ_ONLY | DONT_ENUM); | 79 %AddNamedProperty(GlobalSIMD, symbolToStringTag, 'SIMD', READ_ONLY | DONT_ENUM); |
67 %AddNamedProperty(GlobalSIMD, 'float32x4', GlobalFloat32x4, DONT_ENUM); | |
68 | 80 |
69 %SetCode(GlobalFloat32x4, Float32x4Constructor); | 81 %SetCode(GlobalFloat32x4, Float32x4Constructor); |
70 %FunctionSetPrototype(GlobalFloat32x4, {}); | 82 %FunctionSetPrototype(GlobalFloat32x4, {}); |
71 %AddNamedProperty( | 83 %AddNamedProperty( |
72 GlobalFloat32x4.prototype, 'constructor', GlobalFloat32x4, DONT_ENUM); | 84 GlobalFloat32x4.prototype, 'constructor', GlobalFloat32x4, DONT_ENUM); |
73 %AddNamedProperty( | 85 %AddNamedProperty( |
74 GlobalFloat32x4, symbolToStringTag, 'Float32x4', DONT_ENUM | READ_ONLY); | 86 GlobalFloat32x4.prototype, symbolToStringTag, 'Float32x4', |
| 87 DONT_ENUM | READ_ONLY); |
75 | 88 |
76 utils.InstallFunctions(GlobalFloat32x4.prototype, DONT_ENUM, [ | 89 utils.InstallFunctions(GlobalFloat32x4.prototype, DONT_ENUM, [ |
| 90 'toLocaleString', Float32x4ToLocaleString, |
| 91 'toString', Float32x4ToString, |
77 'valueOf', Float32x4ValueOf, | 92 'valueOf', Float32x4ValueOf, |
78 'toString', Float32x4ToString, | |
79 ]); | 93 ]); |
80 | 94 |
81 utils.InstallFunctions(GlobalFloat32x4, DONT_ENUM, [ | 95 utils.InstallFunctions(GlobalFloat32x4, DONT_ENUM, [ |
82 'splat', Float32x4Splat, | 96 'splat', Float32x4Splat, |
83 'check', Float32x4CheckJS, | 97 'check', Float32x4CheckJS, |
84 'extractLane', Float32x4ExtractLaneJS, | 98 'extractLane', Float32x4ExtractLaneJS, |
85 ]); | 99 ]); |
86 | 100 |
87 $float32x4ToString = Float32x4ToString; | 101 $float32x4ToString = Float32x4ToString; |
88 | 102 |
89 }) | 103 }) |
OLD | NEW |