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 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 RawScript* script_; | 489 RawScript* script_; |
490 RawLibrary* library_; | 490 RawLibrary* library_; |
491 RawTypeArguments* type_parameters_; // Array of TypeParameter. | 491 RawTypeArguments* type_parameters_; // Array of TypeParameter. |
492 RawAbstractType* super_type_; | 492 RawAbstractType* super_type_; |
493 RawType* mixin_; // Generic mixin type, e.g. M<T>, not M<int>. | 493 RawType* mixin_; // Generic mixin type, e.g. M<T>, not M<int>. |
494 RawClass* patch_class_; | 494 RawClass* patch_class_; |
495 RawFunction* signature_function_; // Associated function for signature class. | 495 RawFunction* signature_function_; // Associated function for signature class. |
496 RawArray* constants_; // Canonicalized values of this class. | 496 RawArray* constants_; // Canonicalized values of this class. |
497 RawObject* canonical_types_; // An array of canonicalized types of this class | 497 RawObject* canonical_types_; // An array of canonicalized types of this class |
498 // or the canonical type. | 498 // or the canonical type. |
499 RawArray* invocation_dispatcher_cache_; // Cache for dispatcher functions. | 499 RawArray* invocation_dispatcher_cache_; // Cache for dispatcher functions. |
| 500 RawArray* cha_codes_; // CHA optimized codes. |
500 RawCode* allocation_stub_; // Stub code for allocation of instances. | 501 RawCode* allocation_stub_; // Stub code for allocation of instances. |
501 RawObject** to() { | 502 RawObject** to() { |
502 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_); | 503 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_); |
503 } | 504 } |
504 | 505 |
505 cpp_vtable handle_vtable_; | 506 cpp_vtable handle_vtable_; |
506 intptr_t id_; // Class Id, also index in the class table. | 507 intptr_t id_; // Class Id, also index in the class table. |
507 intptr_t token_pos_; | 508 intptr_t token_pos_; |
508 intptr_t instance_size_in_words_; // Size if fixed len or 0 if variable len. | 509 intptr_t instance_size_in_words_; // Size if fixed len or 0 if variable len. |
509 intptr_t type_arguments_field_offset_in_words_; // Offset of type args fld. | 510 intptr_t type_arguments_field_offset_in_words_; // Offset of type args fld. |
(...skipping 1277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1787 // Make sure this is updated when new TypedData types are added. | 1788 // Make sure this is updated when new TypedData types are added. |
1788 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 14); | 1789 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 14); |
1789 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15); | 1790 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 15); |
1790 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 14); | 1791 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 14); |
1791 return (kNullCid - kTypedDataInt8ArrayCid); | 1792 return (kNullCid - kTypedDataInt8ArrayCid); |
1792 } | 1793 } |
1793 | 1794 |
1794 } // namespace dart | 1795 } // namespace dart |
1795 | 1796 |
1796 #endif // VM_RAW_OBJECT_H_ | 1797 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |