OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_RAW_OBJECT_H_ | 5 #ifndef VM_RAW_OBJECT_H_ |
6 #define VM_RAW_OBJECT_H_ | 6 #define VM_RAW_OBJECT_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "vm/globals.h" | 9 #include "vm/globals.h" |
10 #include "vm/token.h" | 10 #include "vm/token.h" |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 static bool IsNumberClassId(intptr_t index); | 308 static bool IsNumberClassId(intptr_t index); |
309 static bool IsIntegerClassId(intptr_t index); | 309 static bool IsIntegerClassId(intptr_t index); |
310 static bool IsStringClassId(intptr_t index); | 310 static bool IsStringClassId(intptr_t index); |
311 static bool IsOneByteStringClassId(intptr_t index); | 311 static bool IsOneByteStringClassId(intptr_t index); |
312 static bool IsTwoByteStringClassId(intptr_t index); | 312 static bool IsTwoByteStringClassId(intptr_t index); |
313 static bool IsExternalStringClassId(intptr_t index); | 313 static bool IsExternalStringClassId(intptr_t index); |
314 static bool IsBuiltinListClassId(intptr_t index); | 314 static bool IsBuiltinListClassId(intptr_t index); |
315 static bool IsByteArrayClassId(intptr_t index); | 315 static bool IsByteArrayClassId(intptr_t index); |
316 | 316 |
317 protected: | 317 protected: |
318 RawClass* class_; | |
319 uword tags_; // Various object tags (bits). | 318 uword tags_; // Various object tags (bits). |
320 | 319 |
321 private: | 320 private: |
322 class FreeBit : public BitField<bool, kFreeBit, 1> {}; | 321 class FreeBit : public BitField<bool, kFreeBit, 1> {}; |
323 | 322 |
324 class MarkBit : public BitField<bool, kMarkBit, 1> {}; | 323 class MarkBit : public BitField<bool, kMarkBit, 1> {}; |
325 | 324 |
326 class CanonicalObjectTag : public BitField<bool, kCanonicalBit, 1> {}; | 325 class CanonicalObjectTag : public BitField<bool, kCanonicalBit, 1> {}; |
327 | 326 |
328 class CreatedFromSnapshotTag : public BitField<bool, kFromSnapshotBit, 1> {}; | 327 class CreatedFromSnapshotTag : public BitField<bool, kFromSnapshotBit, 1> {}; |
(...skipping 1172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1501 kExternalUint64Array == kByteArray + 18 && | 1500 kExternalUint64Array == kByteArray + 18 && |
1502 kExternalFloat32Array == kByteArray + 19 && | 1501 kExternalFloat32Array == kByteArray + 19 && |
1503 kExternalFloat64Array == kByteArray + 20 && | 1502 kExternalFloat64Array == kByteArray + 20 && |
1504 kClosure == kByteArray + 21); | 1503 kClosure == kByteArray + 21); |
1505 return (index >= kByteArray && index <= kClosure); | 1504 return (index >= kByteArray && index <= kClosure); |
1506 } | 1505 } |
1507 | 1506 |
1508 } // namespace dart | 1507 } // namespace dart |
1509 | 1508 |
1510 #endif // VM_RAW_OBJECT_H_ | 1509 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |