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

Side by Side Diff: src/harmony-simd.js

Issue 1239423004: SIMD.js: Update Float32x4 and tests to current spec. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 5 months 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 | « no previous file | test/mjsunit/harmony/simd.js » ('j') | test/simdjs/testcfg.py » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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);
bbudge 2015/07/20 23:39:40 This was different from almost every other 'symbol
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 })
OLDNEW
« no previous file with comments | « no previous file | test/mjsunit/harmony/simd.js » ('j') | test/simdjs/testcfg.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698