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_TYPES_H_ | 5 #ifndef V8_TYPES_H_ |
6 #define V8_TYPES_H_ | 6 #define V8_TYPES_H_ |
7 | 7 |
8 #include "src/conversions.h" | 8 #include "src/conversions.h" |
9 #include "src/factory.h" | 9 #include "src/factory.h" |
10 #include "src/handles.h" | 10 #include "src/handles.h" |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 V(Null, 1u << 6 | REPRESENTATION(kTaggedPointer)) \ | 201 V(Null, 1u << 6 | REPRESENTATION(kTaggedPointer)) \ |
202 V(Undefined, 1u << 7 | REPRESENTATION(kTaggedPointer)) \ | 202 V(Undefined, 1u << 7 | REPRESENTATION(kTaggedPointer)) \ |
203 V(Boolean, 1u << 8 | REPRESENTATION(kTaggedPointer)) \ | 203 V(Boolean, 1u << 8 | REPRESENTATION(kTaggedPointer)) \ |
204 V(Unsigned30, 1u << 9 | REPRESENTATION(kTagged | kUntaggedNumber)) \ | 204 V(Unsigned30, 1u << 9 | REPRESENTATION(kTagged | kUntaggedNumber)) \ |
205 V(MinusZero, 1u << 10 | REPRESENTATION(kTagged | kUntaggedNumber)) \ | 205 V(MinusZero, 1u << 10 | REPRESENTATION(kTagged | kUntaggedNumber)) \ |
206 V(NaN, 1u << 11 | REPRESENTATION(kTagged | kUntaggedNumber)) \ | 206 V(NaN, 1u << 11 | REPRESENTATION(kTagged | kUntaggedNumber)) \ |
207 V(Symbol, 1u << 12 | REPRESENTATION(kTaggedPointer)) \ | 207 V(Symbol, 1u << 12 | REPRESENTATION(kTaggedPointer)) \ |
208 V(InternalizedString, 1u << 13 | REPRESENTATION(kTaggedPointer)) \ | 208 V(InternalizedString, 1u << 13 | REPRESENTATION(kTaggedPointer)) \ |
209 V(OtherString, 1u << 14 | REPRESENTATION(kTaggedPointer)) \ | 209 V(OtherString, 1u << 14 | REPRESENTATION(kTaggedPointer)) \ |
210 V(Undetectable, 1u << 15 | REPRESENTATION(kTaggedPointer)) \ | 210 V(Undetectable, 1u << 15 | REPRESENTATION(kTaggedPointer)) \ |
211 V(GlobalObject, 1u << 16 | REPRESENTATION(kTaggedPointer)) \ | 211 /* Unused semantic bit 1u << 16 in case you are looking for a bit. */ \ |
212 V(OtherObject, 1u << 17 | REPRESENTATION(kTaggedPointer)) \ | 212 V(OtherObject, 1u << 17 | REPRESENTATION(kTaggedPointer)) \ |
213 V(Proxy, 1u << 18 | REPRESENTATION(kTaggedPointer)) \ | 213 V(Proxy, 1u << 18 | REPRESENTATION(kTaggedPointer)) \ |
214 V(Internal, 1u << 19 | REPRESENTATION(kTagged | kUntagged)) \ | 214 V(Internal, 1u << 19 | REPRESENTATION(kTagged | kUntagged)) \ |
215 \ | 215 \ |
216 V(Signed31, kUnsigned30 | kNegative31) \ | 216 V(Signed31, kUnsigned30 | kNegative31) \ |
217 V(Signed32, kSigned31 | kOtherUnsigned31 | kOtherSigned32) \ | 217 V(Signed32, kSigned31 | kOtherUnsigned31 | kOtherSigned32) \ |
218 V(Negative32, kNegative31 | kOtherSigned32) \ | 218 V(Negative32, kNegative31 | kOtherSigned32) \ |
219 V(Unsigned31, kUnsigned30 | kOtherUnsigned31) \ | 219 V(Unsigned31, kUnsigned30 | kOtherUnsigned31) \ |
220 V(Unsigned32, kUnsigned30 | kOtherUnsigned31 | kOtherUnsigned32) \ | 220 V(Unsigned32, kUnsigned30 | kOtherUnsigned31 | kOtherUnsigned32) \ |
221 V(Integral32, kSigned32 | kUnsigned32) \ | 221 V(Integral32, kSigned32 | kUnsigned32) \ |
222 V(PlainNumber, kIntegral32 | kOtherNumber) \ | 222 V(PlainNumber, kIntegral32 | kOtherNumber) \ |
223 V(OrderedNumber, kPlainNumber | kMinusZero) \ | 223 V(OrderedNumber, kPlainNumber | kMinusZero) \ |
224 V(MinusZeroOrNaN, kMinusZero | kNaN) \ | 224 V(MinusZeroOrNaN, kMinusZero | kNaN) \ |
225 V(Number, kOrderedNumber | kNaN) \ | 225 V(Number, kOrderedNumber | kNaN) \ |
226 V(String, kInternalizedString | kOtherString) \ | 226 V(String, kInternalizedString | kOtherString) \ |
227 V(UniqueName, kSymbol | kInternalizedString) \ | 227 V(UniqueName, kSymbol | kInternalizedString) \ |
228 V(Name, kSymbol | kString) \ | 228 V(Name, kSymbol | kString) \ |
229 V(BooleanOrNumber, kBoolean | kNumber) \ | 229 V(BooleanOrNumber, kBoolean | kNumber) \ |
230 V(NullOrUndefined, kNull | kUndefined) \ | 230 V(NullOrUndefined, kNull | kUndefined) \ |
231 V(NumberOrString, kNumber | kString) \ | 231 V(NumberOrString, kNumber | kString) \ |
232 V(NumberOrUndefined, kNumber | kUndefined) \ | 232 V(NumberOrUndefined, kNumber | kUndefined) \ |
233 V(PlainPrimitive, kNumberOrString | kBoolean | kNullOrUndefined) \ | 233 V(PlainPrimitive, kNumberOrString | kBoolean | kNullOrUndefined) \ |
234 V(Primitive, kSymbol | kPlainPrimitive) \ | 234 V(Primitive, kSymbol | kPlainPrimitive) \ |
235 V(DetectableObject, kGlobalObject | kOtherObject) \ | 235 V(DetectableReceiver, kOtherObject | kProxy) \ |
236 V(DetectableReceiver, kDetectableObject | kProxy) \ | |
237 V(Detectable, kDetectableReceiver | kNumber | kName) \ | 236 V(Detectable, kDetectableReceiver | kNumber | kName) \ |
238 V(Object, kDetectableObject | kUndetectable) \ | 237 V(Object, kOtherObject | kUndetectable) \ |
239 V(Receiver, kObject | kProxy) \ | 238 V(Receiver, kObject | kProxy) \ |
240 V(ReceiverOrUndefined, kReceiver | kUndefined) \ | 239 V(ReceiverOrUndefined, kReceiver | kUndefined) \ |
241 V(StringOrReceiver, kString | kReceiver) \ | 240 V(StringOrReceiver, kString | kReceiver) \ |
242 V(Unique, kBoolean | kUniqueName | kNull | kUndefined | \ | 241 V(Unique, kBoolean | kUniqueName | kNull | kUndefined | \ |
243 kReceiver) \ | 242 kReceiver) \ |
244 V(NonNumber, kUnique | kString | kInternal) \ | 243 V(NonNumber, kUnique | kString | kInternal) \ |
245 V(Any, 0xfffffffeu) | 244 V(Any, 0xfffffffeu) |
246 | 245 |
247 // clang-format on | 246 // clang-format on |
248 | 247 |
(...skipping 915 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1164 bool Narrows(BoundsImpl that) { | 1163 bool Narrows(BoundsImpl that) { |
1165 return that.lower->Is(this->lower) && this->upper->Is(that.upper); | 1164 return that.lower->Is(this->lower) && this->upper->Is(that.upper); |
1166 } | 1165 } |
1167 }; | 1166 }; |
1168 | 1167 |
1169 typedef BoundsImpl<ZoneTypeConfig> Bounds; | 1168 typedef BoundsImpl<ZoneTypeConfig> Bounds; |
1170 | 1169 |
1171 } } // namespace v8::internal | 1170 } } // namespace v8::internal |
1172 | 1171 |
1173 #endif // V8_TYPES_H_ | 1172 #endif // V8_TYPES_H_ |
OLD | NEW |