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

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

Issue 2819583002: [turbofan] Introduce a dedicated Array type. (Closed)
Patch Set: Created 3 years, 8 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/typer.cc ('k') | src/compiler/types.cc » ('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_COMPILER_TYPES_H_ 5 #ifndef V8_COMPILER_TYPES_H_
6 #define V8_COMPILER_TYPES_H_ 6 #define V8_COMPILER_TYPES_H_
7 7
8 #include "src/base/compiler-specific.h" 8 #include "src/base/compiler-specific.h"
9 #include "src/conversions.h" 9 #include "src/conversions.h"
10 #include "src/globals.h" 10 #include "src/globals.h"
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 V(OtherCallable, 1u << 15) \ 119 V(OtherCallable, 1u << 15) \
120 V(OtherObject, 1u << 16) \ 120 V(OtherObject, 1u << 16) \
121 V(OtherUndetectable, 1u << 17) \ 121 V(OtherUndetectable, 1u << 17) \
122 V(CallableProxy, 1u << 18) \ 122 V(CallableProxy, 1u << 18) \
123 V(OtherProxy, 1u << 19) \ 123 V(OtherProxy, 1u << 19) \
124 V(Function, 1u << 20) \ 124 V(Function, 1u << 20) \
125 V(BoundFunction, 1u << 21) \ 125 V(BoundFunction, 1u << 21) \
126 V(Hole, 1u << 22) \ 126 V(Hole, 1u << 22) \
127 V(OtherInternal, 1u << 23) \ 127 V(OtherInternal, 1u << 23) \
128 V(ExternalPointer, 1u << 24) \ 128 V(ExternalPointer, 1u << 24) \
129 V(Array, 1u << 25) \
129 \ 130 \
130 V(Signed31, kUnsigned30 | kNegative31) \ 131 V(Signed31, kUnsigned30 | kNegative31) \
131 V(Signed32, kSigned31 | kOtherUnsigned31 | \ 132 V(Signed32, kSigned31 | kOtherUnsigned31 | \
132 kOtherSigned32) \ 133 kOtherSigned32) \
133 V(Signed32OrMinusZero, kSigned32 | kMinusZero) \ 134 V(Signed32OrMinusZero, kSigned32 | kMinusZero) \
134 V(Signed32OrMinusZeroOrNaN, kSigned32 | kMinusZero | kNaN) \ 135 V(Signed32OrMinusZeroOrNaN, kSigned32 | kMinusZero | kNaN) \
135 V(Negative32, kNegative31 | kOtherSigned32) \ 136 V(Negative32, kNegative31 | kOtherSigned32) \
136 V(Unsigned31, kUnsigned30 | kOtherUnsigned31) \ 137 V(Unsigned31, kUnsigned30 | kOtherUnsigned31) \
137 V(Unsigned32, kUnsigned30 | kOtherUnsigned31 | \ 138 V(Unsigned32, kUnsigned30 | kOtherUnsigned31 | \
138 kOtherUnsigned32) \ 139 kOtherUnsigned32) \
(...skipping 20 matching lines...) Expand all
159 V(NumberOrHole, kNumber | kHole) \ 160 V(NumberOrHole, kNumber | kHole) \
160 V(NumberOrOddball, kNumber | kNullOrUndefined | kBoolean | \ 161 V(NumberOrOddball, kNumber | kNullOrUndefined | kBoolean | \
161 kHole) \ 162 kHole) \
162 V(NumberOrString, kNumber | kString) \ 163 V(NumberOrString, kNumber | kString) \
163 V(NumberOrUndefined, kNumber | kUndefined) \ 164 V(NumberOrUndefined, kNumber | kUndefined) \
164 V(PlainPrimitive, kNumberOrString | kBoolean | \ 165 V(PlainPrimitive, kNumberOrString | kBoolean | \
165 kNullOrUndefined) \ 166 kNullOrUndefined) \
166 V(Primitive, kSymbol | kPlainPrimitive) \ 167 V(Primitive, kSymbol | kPlainPrimitive) \
167 V(OtherUndetectableOrUndefined, kOtherUndetectable | kUndefined) \ 168 V(OtherUndetectableOrUndefined, kOtherUndetectable | kUndefined) \
168 V(Proxy, kCallableProxy | kOtherProxy) \ 169 V(Proxy, kCallableProxy | kOtherProxy) \
170 V(ArrayOrProxy, kArray | kProxy) \
169 V(DetectableCallable, kFunction | kBoundFunction | \ 171 V(DetectableCallable, kFunction | kBoundFunction | \
170 kOtherCallable | kCallableProxy) \ 172 kOtherCallable | kCallableProxy) \
171 V(Callable, kDetectableCallable | kOtherUndetectable) \ 173 V(Callable, kDetectableCallable | kOtherUndetectable) \
172 V(NonCallable, kOtherObject | kOtherProxy) \ 174 V(NonCallable, kArray | kOtherObject | kOtherProxy) \
173 V(NonCallableOrNull, kNonCallable | kNull) \ 175 V(NonCallableOrNull, kNonCallable | kNull) \
174 V(DetectableObject, kFunction | kBoundFunction | \ 176 V(DetectableObject, kArray | kFunction | kBoundFunction | \
175 kOtherCallable | kOtherObject) \ 177 kOtherCallable | kOtherObject) \
176 V(DetectableReceiver, kDetectableObject | kProxy) \ 178 V(DetectableReceiver, kDetectableObject | kProxy) \
177 V(DetectableReceiverOrNull, kDetectableReceiver | kNull) \ 179 V(DetectableReceiverOrNull, kDetectableReceiver | kNull) \
178 V(Object, kDetectableObject | kOtherUndetectable) \ 180 V(Object, kDetectableObject | kOtherUndetectable) \
179 V(Receiver, kObject | kProxy) \ 181 V(Receiver, kObject | kProxy) \
180 V(ReceiverOrUndefined, kReceiver | kUndefined) \ 182 V(ReceiverOrUndefined, kReceiver | kUndefined) \
181 V(ReceiverOrNullOrUndefined, kReceiver | kNull | kUndefined) \ 183 V(ReceiverOrNullOrUndefined, kReceiver | kNull | kUndefined) \
182 V(SymbolOrReceiver, kSymbol | kReceiver) \ 184 V(SymbolOrReceiver, kSymbol | kReceiver) \
183 V(StringOrReceiver, kString | kReceiver) \ 185 V(StringOrReceiver, kString | kReceiver) \
184 V(Unique, kBoolean | kUniqueName | kNull | \ 186 V(Unique, kBoolean | kUniqueName | kNull | \
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 RangeType::Limits* limits, Zone* zone); 666 RangeType::Limits* limits, Zone* zone);
665 static Type* NormalizeUnion(Type* unioned, int size, Zone* zone); 667 static Type* NormalizeUnion(Type* unioned, int size, Zone* zone);
666 static Type* NormalizeRangeAndBitset(Type* range, bitset* bits, Zone* zone); 668 static Type* NormalizeRangeAndBitset(Type* range, bitset* bits, Zone* zone);
667 }; 669 };
668 670
669 } // namespace compiler 671 } // namespace compiler
670 } // namespace internal 672 } // namespace internal
671 } // namespace v8 673 } // namespace v8
672 674
673 #endif // V8_COMPILER_TYPES_H_ 675 #endif // V8_COMPILER_TYPES_H_
OLDNEW
« no previous file with comments | « src/compiler/typer.cc ('k') | src/compiler/types.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698