OLD | NEW |
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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 V(Null, 1u << 6) \ | 110 V(Null, 1u << 6) \ |
111 V(Undefined, 1u << 7) \ | 111 V(Undefined, 1u << 7) \ |
112 V(Boolean, 1u << 8) \ | 112 V(Boolean, 1u << 8) \ |
113 V(Unsigned30, 1u << 9) \ | 113 V(Unsigned30, 1u << 9) \ |
114 V(MinusZero, 1u << 10) \ | 114 V(MinusZero, 1u << 10) \ |
115 V(NaN, 1u << 11) \ | 115 V(NaN, 1u << 11) \ |
116 V(Symbol, 1u << 12) \ | 116 V(Symbol, 1u << 12) \ |
117 V(InternalizedString, 1u << 13) \ | 117 V(InternalizedString, 1u << 13) \ |
118 V(OtherString, 1u << 14) \ | 118 V(OtherString, 1u << 14) \ |
119 V(Simd, 1u << 15) \ | 119 V(Simd, 1u << 15) \ |
| 120 V(OtherCallable, 1u << 16) \ |
120 V(OtherObject, 1u << 17) \ | 121 V(OtherObject, 1u << 17) \ |
121 V(OtherUndetectable, 1u << 16) \ | 122 V(OtherUndetectable, 1u << 18) \ |
122 V(Proxy, 1u << 18) \ | 123 V(CallableProxy, 1u << 19) \ |
123 V(Function, 1u << 19) \ | 124 V(OtherProxy, 1u << 20) \ |
124 V(Hole, 1u << 20) \ | 125 V(Function, 1u << 21) \ |
125 V(OtherInternal, 1u << 21) \ | 126 V(BoundFunction, 1u << 22) \ |
126 V(ExternalPointer, 1u << 22) \ | 127 V(Hole, 1u << 23) \ |
| 128 V(OtherInternal, 1u << 24) \ |
| 129 V(ExternalPointer, 1u << 25) \ |
127 \ | 130 \ |
128 V(Signed31, kUnsigned30 | kNegative31) \ | 131 V(Signed31, kUnsigned30 | kNegative31) \ |
129 V(Signed32, kSigned31 | kOtherUnsigned31 | kOtherSigned32) \ | 132 V(Signed32, kSigned31 | kOtherUnsigned31 | kOtherSigned32) \ |
130 V(Signed32OrMinusZero, kSigned32 | kMinusZero) \ | 133 V(Signed32OrMinusZero, kSigned32 | kMinusZero) \ |
131 V(Signed32OrMinusZeroOrNaN, kSigned32 | kMinusZero | kNaN) \ | 134 V(Signed32OrMinusZeroOrNaN, kSigned32 | kMinusZero | kNaN) \ |
132 V(Negative32, kNegative31 | kOtherSigned32) \ | 135 V(Negative32, kNegative31 | kOtherSigned32) \ |
133 V(Unsigned31, kUnsigned30 | kOtherUnsigned31) \ | 136 V(Unsigned31, kUnsigned30 | kOtherUnsigned31) \ |
134 V(Unsigned32, kUnsigned30 | kOtherUnsigned31 | \ | 137 V(Unsigned32, kUnsigned30 | kOtherUnsigned31 | \ |
135 kOtherUnsigned32) \ | 138 kOtherUnsigned32) \ |
136 V(Unsigned32OrMinusZero, kUnsigned32 | kMinusZero) \ | 139 V(Unsigned32OrMinusZero, kUnsigned32 | kMinusZero) \ |
(...skipping 11 matching lines...) Expand all Loading... |
148 V(BooleanOrNullOrUndefined, kBoolean | kNull | kUndefined) \ | 151 V(BooleanOrNullOrUndefined, kBoolean | kNull | kUndefined) \ |
149 V(NullOrNumber, kNull | kNumber) \ | 152 V(NullOrNumber, kNull | kNumber) \ |
150 V(NullOrUndefined, kNull | kUndefined) \ | 153 V(NullOrUndefined, kNull | kUndefined) \ |
151 V(Undetectable, kNullOrUndefined | kOtherUndetectable) \ | 154 V(Undetectable, kNullOrUndefined | kOtherUndetectable) \ |
152 V(NumberOrOddball, kNumber | kNullOrUndefined | kBoolean | kHole) \ | 155 V(NumberOrOddball, kNumber | kNullOrUndefined | kBoolean | kHole) \ |
153 V(NumberOrSimdOrString, kNumber | kSimd | kString) \ | 156 V(NumberOrSimdOrString, kNumber | kSimd | kString) \ |
154 V(NumberOrString, kNumber | kString) \ | 157 V(NumberOrString, kNumber | kString) \ |
155 V(NumberOrUndefined, kNumber | kUndefined) \ | 158 V(NumberOrUndefined, kNumber | kUndefined) \ |
156 V(PlainPrimitive, kNumberOrString | kBoolean | kNullOrUndefined) \ | 159 V(PlainPrimitive, kNumberOrString | kBoolean | kNullOrUndefined) \ |
157 V(Primitive, kSymbol | kSimd | kPlainPrimitive) \ | 160 V(Primitive, kSymbol | kSimd | kPlainPrimitive) \ |
158 V(DetectableReceiver, kFunction | kOtherObject | kProxy) \ | 161 V(Proxy, kCallableProxy | kOtherProxy) \ |
| 162 V(Callable, kFunction | kBoundFunction | kOtherCallable | \ |
| 163 kCallableProxy | kOtherUndetectable) \ |
| 164 V(DetectableObject, kFunction | kBoundFunction | kOtherCallable | \ |
| 165 kOtherObject) \ |
| 166 V(DetectableReceiver, kDetectableObject | kProxy) \ |
159 V(DetectableReceiverOrNull, kDetectableReceiver | kNull) \ | 167 V(DetectableReceiverOrNull, kDetectableReceiver | kNull) \ |
160 V(Object, kFunction | kOtherObject | kOtherUndetectable) \ | 168 V(Object, kDetectableObject | kOtherUndetectable) \ |
161 V(Receiver, kObject | kProxy) \ | 169 V(Receiver, kObject | kProxy) \ |
162 V(ReceiverOrUndefined, kReceiver | kUndefined) \ | 170 V(ReceiverOrUndefined, kReceiver | kUndefined) \ |
163 V(ReceiverOrNullOrUndefined, kReceiver | kNull | kUndefined) \ | 171 V(ReceiverOrNullOrUndefined, kReceiver | kNull | kUndefined) \ |
164 V(StringOrReceiver, kString | kReceiver) \ | 172 V(StringOrReceiver, kString | kReceiver) \ |
165 V(Unique, kBoolean | kUniqueName | kNull | kUndefined | \ | 173 V(Unique, kBoolean | kUniqueName | kNull | kUndefined | \ |
166 kReceiver) \ | 174 kReceiver) \ |
167 V(Internal, kHole | kExternalPointer | kOtherInternal) \ | 175 V(Internal, kHole | kExternalPointer | kOtherInternal) \ |
168 V(NonInternal, kPrimitive | kReceiver) \ | 176 V(NonInternal, kPrimitive | kReceiver) \ |
169 V(NonNumber, kUnique | kString | kInternal) \ | 177 V(NonNumber, kUnique | kString | kInternal) \ |
170 V(Any, 0xfffffffeu) | 178 V(Any, 0xfffffffeu) |
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 RangeType::Limits* limits, Zone* zone); | 653 RangeType::Limits* limits, Zone* zone); |
646 static Type* NormalizeUnion(Type* unioned, int size, Zone* zone); | 654 static Type* NormalizeUnion(Type* unioned, int size, Zone* zone); |
647 static Type* NormalizeRangeAndBitset(Type* range, bitset* bits, Zone* zone); | 655 static Type* NormalizeRangeAndBitset(Type* range, bitset* bits, Zone* zone); |
648 }; | 656 }; |
649 | 657 |
650 } // namespace compiler | 658 } // namespace compiler |
651 } // namespace internal | 659 } // namespace internal |
652 } // namespace v8 | 660 } // namespace v8 |
653 | 661 |
654 #endif // V8_COMPILER_TYPES_H_ | 662 #endif // V8_COMPILER_TYPES_H_ |
OLD | NEW |