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

Side by Side Diff: src/compiler/types.h

Issue 2309823002: [turbofan] put src/types.[h/cc] into src/compiler/types.[h/cc] (Closed)
Patch Set: Created 4 years, 3 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
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_TYPES_H_ 5 #ifndef V8_COMPILER_TYPES_H_
6 #define V8_TYPES_H_ 6 #define V8_COMPILER_TYPES_H_
7 7
8 #include "src/conversions.h" 8 #include "src/conversions.h"
9 #include "src/handles.h" 9 #include "src/handles.h"
10 #include "src/objects.h" 10 #include "src/objects.h"
11 #include "src/ostreams.h" 11 #include "src/ostreams.h"
12 12
13 namespace v8 { 13 namespace v8 {
14 namespace internal { 14 namespace internal {
15 15
16 // SUMMARY 16 // SUMMARY
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 * -2^31 -2^30 0 2^30 2^31 2^32 235 * -2^31 -2^30 0 2^30 2^31 2^32
236 * 236 *
237 * E.g., OtherUnsigned32 (OU32) covers all integers from 2^31 to 2^32-1. 237 * E.g., OtherUnsigned32 (OU32) covers all integers from 2^31 to 2^32-1.
238 * 238 *
239 * Some of the atomic numerical bitsets are internal only (see 239 * Some of the atomic numerical bitsets are internal only (see
240 * INTERNAL_BITSET_TYPE_LIST). To a types user, they should only occur in 240 * INTERNAL_BITSET_TYPE_LIST). To a types user, they should only occur in
241 * union with certain other bitsets. For instance, OtherNumber should only 241 * union with certain other bitsets. For instance, OtherNumber should only
242 * occur as part of PlainNumber. 242 * occur as part of PlainNumber.
243 */ 243 */
244 244
245 #define PROPER_BITSET_TYPE_LIST(V) \ 245 #define PROPER_BITSET_TYPE_LIST(V) \
246 REPRESENTATION_BITSET_TYPE_LIST(V) \ 246 REPRESENTATION_BITSET_TYPE_LIST(V) \
247 SEMANTIC_BITSET_TYPE_LIST(V) 247 SEMANTIC_BITSET_TYPE_LIST(V)
248 248
249 #define BITSET_TYPE_LIST(V) \ 249 #define BITSET_TYPE_LIST(V) \
250 MASK_BITSET_TYPE_LIST(V) \ 250 MASK_BITSET_TYPE_LIST(V) \
251 REPRESENTATION_BITSET_TYPE_LIST(V) \ 251 REPRESENTATION_BITSET_TYPE_LIST(V) \
252 INTERNAL_BITSET_TYPE_LIST(V) \ 252 INTERNAL_BITSET_TYPE_LIST(V) \
253 SEMANTIC_BITSET_TYPE_LIST(V) 253 SEMANTIC_BITSET_TYPE_LIST(V)
254 254
255 class Type; 255 class Type;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 static inline const Boundary* Boundaries(); 329 static inline const Boundary* Boundaries();
330 static inline size_t BoundariesSize(); 330 static inline size_t BoundariesSize();
331 }; 331 };
332 332
333 // ----------------------------------------------------------------------------- 333 // -----------------------------------------------------------------------------
334 // Superclass for non-bitset types (internal). 334 // Superclass for non-bitset types (internal).
335 class TypeBase { 335 class TypeBase {
336 protected: 336 protected:
337 friend class Type; 337 friend class Type;
338 338
339 enum Kind { 339 enum Kind { kConstant, kTuple, kUnion, kRange };
340 kConstant,
341 kTuple,
342 kUnion,
343 kRange
344 };
345 340
346 Kind kind() const { return kind_; } 341 Kind kind() const { return kind_; }
347 explicit TypeBase(Kind kind) : kind_(kind) {} 342 explicit TypeBase(Kind kind) : kind_(kind) {}
348 343
349 static bool IsKind(Type* type, Kind kind) { 344 static bool IsKind(Type* type, Kind kind) {
350 if (BitsetType::IsBitset(type)) return false; 345 if (BitsetType::IsBitset(type)) return false;
351 TypeBase* base = reinterpret_cast<TypeBase*>(type); 346 TypeBase* base = reinterpret_cast<TypeBase*>(type);
352 return base->kind() == kind; 347 return base->kind() == kind;
353 } 348 }
354 349
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 return Bounds(lower, upper); 767 return Bounds(lower, upper);
773 } 768 }
774 769
775 bool Narrows(Bounds that) { 770 bool Narrows(Bounds that) {
776 return that.lower->Is(this->lower) && this->upper->Is(that.upper); 771 return that.lower->Is(this->lower) && this->upper->Is(that.upper);
777 } 772 }
778 }; 773 };
779 } // namespace internal 774 } // namespace internal
780 } // namespace v8 775 } // namespace v8
781 776
782 #endif // V8_TYPES_H_ 777 #endif // V8_COMPILER_TYPES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698