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

Side by Side Diff: src/machine-type.h

Issue 2122853002: Implement UnaligedLoad and UnaligedStore turbofan operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Nits. Fixes some errors Created 4 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 | « src/compiler/x87/instruction-selector-x87.cc ('k') | test/cctest/compiler/codegen-tester.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 #ifndef V8_MACHINE_TYPE_H_ 5 #ifndef V8_MACHINE_TYPE_H_
6 #define V8_MACHINE_TYPE_H_ 6 #define V8_MACHINE_TYPE_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 9
10 #include "src/base/bits.h" 10 #include "src/base/bits.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 static MachineType RepSimd128() { 152 static MachineType RepSimd128() {
153 return MachineType(MachineRepresentation::kSimd128, MachineSemantic::kNone); 153 return MachineType(MachineRepresentation::kSimd128, MachineSemantic::kNone);
154 } 154 }
155 static MachineType RepTagged() { 155 static MachineType RepTagged() {
156 return MachineType(MachineRepresentation::kTagged, MachineSemantic::kNone); 156 return MachineType(MachineRepresentation::kTagged, MachineSemantic::kNone);
157 } 157 }
158 static MachineType RepBit() { 158 static MachineType RepBit() {
159 return MachineType(MachineRepresentation::kBit, MachineSemantic::kNone); 159 return MachineType(MachineRepresentation::kBit, MachineSemantic::kNone);
160 } 160 }
161 161
162 static MachineType TypeForRepresentation(MachineRepresentation& rep,
163 bool isSigned = true) {
164 switch (rep) {
165 case MachineRepresentation::kNone:
166 return MachineType::None();
167 case MachineRepresentation::kBit:
168 return MachineType::Bool();
169 case MachineRepresentation::kWord8:
170 return isSigned ? MachineType::Int8() : MachineType::Uint8();
171 case MachineRepresentation::kWord16:
172 return isSigned ? MachineType::Int16() : MachineType::Uint16();
173 case MachineRepresentation::kWord32:
174 return isSigned ? MachineType::Int32() : MachineType::Uint32();
175 case MachineRepresentation::kWord64:
176 return isSigned ? MachineType::Int64() : MachineType::Uint64();
177 case MachineRepresentation::kFloat32:
178 return MachineType::Float32();
179 case MachineRepresentation::kFloat64:
180 return MachineType::Float64();
181 case MachineRepresentation::kSimd128:
182 return MachineType::Simd128();
183 case MachineRepresentation::kTagged:
184 return MachineType::AnyTagged();
185 default:
186 UNREACHABLE();
187 return MachineType::None();
188 }
189 }
190
162 private: 191 private:
163 MachineRepresentation representation_; 192 MachineRepresentation representation_;
164 MachineSemantic semantic_; 193 MachineSemantic semantic_;
165 }; 194 };
166 195
167 V8_INLINE size_t hash_value(MachineRepresentation rep) { 196 V8_INLINE size_t hash_value(MachineRepresentation rep) {
168 return static_cast<size_t>(rep); 197 return static_cast<size_t>(rep);
169 } 198 }
170 199
171 V8_INLINE size_t hash_value(MachineType type) { 200 V8_INLINE size_t hash_value(MachineType type) {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 UNREACHABLE(); 236 UNREACHABLE();
208 return -1; 237 return -1;
209 } 238 }
210 239
211 typedef Signature<MachineType> MachineSignature; 240 typedef Signature<MachineType> MachineSignature;
212 241
213 } // namespace internal 242 } // namespace internal
214 } // namespace v8 243 } // namespace v8
215 244
216 #endif // V8_MACHINE_TYPE_H_ 245 #endif // V8_MACHINE_TYPE_H_
OLDNEW
« no previous file with comments | « src/compiler/x87/instruction-selector-x87.cc ('k') | test/cctest/compiler/codegen-tester.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698